CMD/BAT - [решено] Скрипт создать архив - переменная с пробелами

Ответить
Аватара пользователя
SharkyEXE

CMD/BAT - [решено] Скрипт создать архив - переменная с пробелами

Сообщение SharkyEXE »

Всем здравствуйте



Пожалуйста, помогите



Создал файл 1_mod.cmd





Код:

Код: Выделить всё

@Echo Off
If Exist "%SystemDrive%\Program Files (x86)\WinRAR\Rar.exe" (
Set "NameQQQ=%SystemDrive%\Program Files (x86)\WinRAR\Rar.exe"
)
FOR %%A IN ("%NameQQQ%" a 1.rar "%~dp0*.*doc*" "%~dp0*.*xls*" "%~dp0*.*tmp*" "%~dp0*.*ppt*" "%~dp0*.*acc*" "%~dp0*.*rtf*" "%~dp0*.*txt*" "%~dp0*.*cdr*" "%~dp0*.*cdw*" "%~dp0*.*bak*" "%~dp0*.*jpg*" "%~dp0F\" -ep -dh -ma4 -m5 -md4096k -s) DO SET "file1Size=%%A"
Echo VARIABLE=%file1Size%
If "%VARIABLE%"=="ОШИБКА: Неизвестный параметр ma4" (
"%NameQQQ%" a 1.rar "%~dp0*.*doc*" "%~dp0*.*xls*" "%~dp0*.*tmp*" "%~dp0*.*ppt*" "%~dp0*.*acc*" "%~dp0*.*rtf*" "%~dp0*.*txt*" "%~dp0*.*cdr*" "%~dp0*.*cdw*" "%~dp0*.*bak*" "%~dp0*.*jpg*" "%~dp0F\" -ep -dh -m5 -md4096k -s
)
Pause
Exit

При запуске файла не отдаётся нужное - в моем примере, должно быть на выходе



Код:

Код: Выделить всё

VARIABLE=ОШИБКА: Неизвестный параметр ma4

а отдаётся



Код:

Код: Выделить всё

VARIABLE=-s

Пожалуйста, помогите, ДОкрутить



Просьба, очень нужно, без использования



Код:

Код: Выделить всё

SETLOCAL ENABLEDELAYEDEXPANSION

Хочется - чем проще, тем лучше, чтобы разобраться, понять



Спасибо.
Аватара пользователя
megaloman

Re: CMD/BAT - [решено] Скрипт создать архив - переменная с пробелами

Сообщение megaloman »

Код:

Код: Выделить всё

@Echo Off
cls
	Set "Arc=%ProgramFiles(x86)%\WinRar\Rar.Exe"
	If Not Exist "%Arc%" Set "Arc=%ProgramFiles%\WinRar\Rar.Exe"
	Pushd "%~dp0"
	"%Arc%" a  -ma4 -ep -dh -m5 -md4096k -s "1.rar" "*.doc*" "*.xls*" "*.tmp" "*.ppt*" "*.acc*" "*.rtf" "*.txt" "*.cdr*" "*.cdw*" "*.bak*" "*.jpg" "F\*.*" |findstr /B /I "ОШИБКА: Неизвестный параметр"&&(
	"%Arc%" a       -ep -dh -m5 -md4096k -s "1.rar" "*.doc*" "*.xls*" "*.tmp" "*.ppt*" "*.acc*" "*.rtf" "*.txt" "*.cdr*" "*.cdw*" "*.bak*" "*.jpg" "F\*.*")
	Popd
Pause
Exit /B
Ответить

Вернуться в «Скриптовые языки администрирования Windows»