Записать переменные в файл как% VAR%, а не как значение переменной, а также задать правильную функцию списка задач при перенаправлении вывода.
Код im, используемый для записи в файл:
echo tasklist /FI "IMAGENAME eq %ZOEXT%" 2>NUL | find /I /N "%ZOEXT%">NUL >> boot.bat
echo if "%ERRORLEVEL%"=="1" start /d "%ZODIR%" %ZOEXT% >> boot.bat
Результат:
tasklist /FI "IMAGENAME eq Zoiper.exe"
if "0"=="1" start /d "C:\Documents and Settings\mgladman\Desktop\Zoip\Zoiper Communicator\" Zoiper.exe
То, что я хочу добавить в boot.bat:
tasklist /FI "IMAGENAME eq %ZOEXT%" 2>NUL | find /I /N "%ZOEXT%">NUL
if "%ERRORLEVEL%"=="1" start /d "%ZODIR%" %ZOEXT%
Если вы хотите, я могу опубликовать весь код, а не только сегмент, это крутой скрипт:P Просто есть эта небольшая проблема.
Единственный «обходной путь», который я могу себе представить, - это сделать первый скрипт, отразить эхо в первом файле и записать правильные системные данные (это должен быть переносимый скрипт, поэтомуэто будет работать, но будет грязно, как)