Как сместить аргументы в пакетных файлах, когда аргументов больше 10

Я учусь писать пакетные файлы для Windows 7, используя VBScript, как родной язык сценариев.

Я полагаю, что не использую Windows Scripting Host или Power Shell. Я использую простой синтаксис VBScript в старом стиле.

Я не понимаю, как смещать аргументы, когда в пакетный файл передается более 9 аргументов (или 10, включая имя пакетного файла).

Не могли бы вы научить меня этому?

Предположим, вы вызвали мой командный файл со следующими аргументами:

C:\>call my.bat "one" "two" "three" "four" 
    "five" "six" "seven" "eight" "nine" "ten" "eleven"

Как бы вы получили доступ к аргументам ten и eleven из my.bat?


person Water Cooler v2    schedule 04.02.2014    source источник
comment
ss64.com/nt/shift.html   -  person Loïc MICHEL    schedule 04.02.2014
comment
@Kayasax Спасибо. Не могли бы вы указать мне пример, когда в пакетный файл было передано более 10 аргументов, и он считывает их все?   -  person Water Cooler v2    schedule 04.02.2014


Ответы (1)


это партия взята с ss64.com

@echo off
:start
if "%1"=="" (goto :exit)
:: Do whatever with token %1
Echo [%1] 
:: Shift %2 into %1 
SHIFT
goto :start

:exit
::pause

вызовите этот пакет с более чем 10 аргументами, он отобразит все

    shift.bat 1 2 3 4 5 6 7 8 9 10 11
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
person Loïc MICHEL    schedule 04.02.2014
comment
Спасибо, @Kayasax. (1) Строки начинаются с :: комментариев? До сих пор я видел только комментарии, начинающиеся с REM, поэтому и спрашиваю. (2) Я понимаю, что вы делаете это по одному и читаете только первый, пока не будут прочитаны все аргументы. Если бы мне пришлось делать это с помощью цикла for, мне нужно было бы знать точное общее количество аргументов, переданных в пакетный файл. Есть ли способ заглянуть вперед и заранее узнать общее количество аргументов, переданных в пакетный файл? - person Water Cooler v2; 04.02.2014
comment
1- да это комментарии. 2- см. этот пост: stackoverflow .com/questions/1291941/ - person Loïc MICHEL; 04.02.2014
comment
Большое Вам спасибо. :-) - person Water Cooler v2; 04.02.2014