Почему cmd не понимает больше 9 параметров? #318472


#0 by RomaH
Настраиваю регламентированые работы баз несколько - поэтому что бы не настраивать каждый раз много больших файлов - изменяемые переменные определю в несколько маленьких из который вызываю один большой @echo off set server=app set base=mis set user=it-ral set password=******* set logfile=1c_backup egl_1C_mis.log set copybase=copy_mis set timeout=300 set stopnet=0 set CR=1c_backupConfigurationRepositorymis call cmd.exe /c \dkbdfs1c_backup egl_81_mis.cmd %server% %base% %user% %password% %logfile% %copybase% %timeout% %stopnet% %CR% в вызываемом файле соответсвенно: @echo off set server=%1 set base=%2 set user=%3 set password=%4 set logfile=%5 set copybase=%6 set timeout=%7 set stopnet=%8 set ConfigurationRepository=%9 так вот  - если в первый фал дописать определение 10 параметра а во втором дописать: set par10=%10 то получаю что par10 равен "app0" т.е. присваивает значение первого параметра и добавляет "0" к нему почему так и как передать больше чем 9 параметров в cmd?
#1 by fellow
shift
#2 by RomaH
не понял
#3 by sapphire
сделай через vbs /wsh
#4 by smaharbA
+
#5 by RomaH
все равно не понял что надо-то?
#6 by fellow
Нужно сдвинуть список фактических параметров относительно формальных. Это делается командой shift.
#7 by smaharbA
set server=%1 set base=%2 set user=%3 set password=%4 set logfile=%5 set copybase=%6 set timeout=%7 set stopnet=%8 set ConfigurationRepository=%9 for /l %%i in (1,1,9) do shift echo %1
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С