Я пытаюсь создать скрипт, который будет автоматически тестировать множество ключей для активации программы для моего рабочего места. Поэтому моя проблема в том, что я не могу сравнить переменную с заданной строкой, которую я жестко закодировал. Это должно быть очень просто, но не может сравнивать его, даже если выводит правильную строку.
Я пытался дать переменной другое имя. Размещается () во многих разных местах, поэтому код становится не таким кластеризованным. Я попытался скопировать переменную, отобразив ее в текстовый файл, а затем скопировать его оттуда внутри моего кода. Все еще не работал. Я попытался проверить свой ЕСЛИ, чтобы увидеть, если это проблема. Но работает нормально. Я попытался проанализировать мою %% переменную в переменной% _demo%. Нет эффекта. Поэтому я подумал, что внутри этой строки может быть символ, который я не могу прочитать в блокноте или что-то в этом роде. Но даже когда я вырезал все вещи, которые мог придумать с разделителями внутри цикла for, и оставил только одно слово, это все равно не сработало бы.
И я попробовал SETLOCAL DisableDelayedExpansion, который ничего не изменил.
Внутри inp.txt, который вы увидите внутри кода, находится только захваченный вывод команды изнутри пакета. Я прокомментировал вывод внутри, чтобы вы могли увидеть, как это выглядит.
Он только ищет то, что работает, так что это не проблема, я проверил это.
REM Microsoft (R) Windows Script Host, Version 5.812
REM Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
REM ---Processing--------------------------
REM ---------------------------------------
REM <Product key installation successful>
REM ---------------------------------------
REM ---Exiting-----------------------------
for /f "delims=<,>" %%a in ('findstr "<Product key installation successful>" %homepath%\Desktop\inp.txt') do (
set _demo=%%a
)
echo !_demo!
if !_demo! NEQ "Product key installation successful" echo Produkt key installation fehlgeschlagen... && echo.
if !_demo! EQU "" echo Etwas lief schief... && echo !_demo! && echo.
if !_demo! EQU "Product key installation successful" (
*activate it*
) else (
*try again*
)
Так что надо просто сравнить! _Demo! к моей строке я подумал, что это будет легко, и не рассчитывал так сильно бороться с этой строкой кода.