Пакет: %% переменную цикла нельзя сравнить со статической строкой - PullRequest
2 голосов
/ 13 июня 2019

Я пытаюсь создать скрипт, который будет автоматически тестировать множество ключей для активации программы для моего рабочего места. Поэтому моя проблема в том, что я не могу сравнить переменную с заданной строкой, которую я жестко закодировал. Это должно быть очень просто, но не может сравнивать его, даже если выводит правильную строку.

Я пытался дать переменной другое имя. Размещается () во многих разных местах, поэтому код становится не таким кластеризованным. Я попытался скопировать переменную, отобразив ее в текстовый файл, а затем скопировать его оттуда внутри моего кода. Все еще не работал. Я попытался проверить свой ЕСЛИ, чтобы увидеть, если это проблема. Но работает нормально. Я попытался проанализировать мою %% переменную в переменной% _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! к моей строке я подумал, что это будет легко, и не рассчитывал так сильно бороться с этой строкой кода.

1 Ответ

0 голосов
/ 13 июня 2019

Я нашел решение ... Я просто поместил «Установка ключа продукта успешно» внутри своей переменной, и она сработала.дело закрыто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...