Цитата Nun-Nun:
можно ли сделать, чтобы итоговый файл list.cmd сохранялся с русской кодировкой 866 ? »
|
Nun-Nun, я взял за основу 2 правила, которых придерживаюсь по-умолчанию: 1) сохранять сценарии CMD/BAT в кодировке DOS (OEM866), даже если она там не требуется; 2) любые пути заключать в двойные кавычки, даже если они там не требуются.
Код:

@Echo Off
Set ParamsExe=/Q /O /N /Z
Set ParamsMsi=ALLUSERS=TRUE REBOOT=SUPPRESS /QN
Del /F /Q list.cmd 1>nul 2>&1
For /F "Tokens=*" %%A In ('Dir /S /B /AD') Do (
For /F "Tokens=*" %%B In ('Dir /B "%%A\*.exe" "%%A\*.msi"') Do (
Echo ::%%~nA>>list.cmd
If /I "%%~xB"==".exe" (Echo Start /Wait "" "%%A\%%B" %ParamsExe%>>list.cmd)
If /I "%%~xB"==".msi" (Echo Start /Wait "" MsiExec /I "%%A\%%B" %ParamsMsi%>>list.cmd)
)
)