Как написать файл .bat в скрипте nsis

avatar
JnF
8 апреля 2018 в 10:07
469
1
0
$INSTDIR\DOWNPRINT\runRestart.bat" "TEXT" "@ECHO OFFdel $INSTDIR\DOWNPRINT\process.txtwmic process  get processid,name,commandline /format:csv | findstr "runPosiboltprint.bat" | findstr /V "findstr"  > $INSTDIR\DOWNPRINT\process.txt(for /f "tokens=3,* delims=," %%a in($INSTDIR\DOWNPRINT\process.txt) do @echo %%b) >$INSTDIR\DOWNPRINT\pid.txtcd $INSTDIR\DOWNPRINT\SET /P A= < $INSTDIR\DOWNPRINT\pid.txttaskkill.exe /F  /PID  %A%$INSTDIR\Java\bin\java.exe -jar $INSTDIR\DOWNPRINT\printer.jar

это мой пакетный скрипт

я уже пробовал FileWrite и WriteIniStr. Но оба выдают ошибку типа WriteIniStr ожидает 4 параметра, получил 28. а FileWrite ожидает 4 параметра, получил 28.

КТО-НИБУДЬ ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ!

Источник

Ответы (1)

avatar
Anders
8 апреля 2018 в 19:01
1

При использовании FileWrite необходимо заключить строку в кавычки:

Section
InitPluginsDir
FileOpen $0 "$pluginsdir\myscript.bat" w
FileWrite $0 '@echo off$\r$\n'
FileWrite $0 'echo Hello world$\r$\n'
FileWrite $0 'echo foo "bar" | find /I "FOO" > $pluginsdir\temp.txt $\r$\n'
FileClose $0

ReadEnvStr $0 COMSPEC
nsExec::Exec  '"$0" /c "$pluginsdir\myscript.bat"' ; Run the batch with a hidden window. Use ExecWait if you want a visible window
Pop $0
DetailPrint "Returned $0"
SectionEnd