我想找到一个与Bash相对应的Windows批处理副本,$@其中包含传递给脚本的所有参数的列表.
或者我不得不打扰shift?
我想知道这是否可能?我不熟悉使用Windows命令行,但我必须将它用于我正在进行的项目.我有一些文件,我需要为每个文件执行一个函数.我习惯使用python,但显然这有点不同,所以我希望得到一些帮助.
基本上我需要for循环遍历文件夹中的17个文件,在每个文件上执行一个函数(使用我在这里为项目使用的特定软件),然后输出一个具有唯一名称的文件(该函数通常需要我说出输出文件的名称)我会把它搞砸,然后手工为17中的每一个做,但基本上它是创建一个文件的数据库,然后将它与17中的每一个进行比较.它需要通过迭代来完成几百次.使用for循环可以节省我几天的工作量.
建议?
我想从命令窗口多次执行一个操作.常识告诉我FOR循环应该能够处理这个问题.果然,如果我想执行,比方说myProg.exe,我可以打开命令窗口并使用:
C:\> FOR %i in (1 2 3) DO myProg.exe
Run Code Online (Sandbox Code Playgroud)
简单.
但是,如果我想执行myProg.exe1000次呢?我想在FOR循环中指定一个范围,但是我很难看到如何执行此操作.
直观地说,似乎我应该能够执行以下某项操作:
C:\> FOR %i in (1 to 1000) DO myProg.exe
C:\> FOR %i in (1-1000) DO myProg.exe
Run Code Online (Sandbox Code Playgroud)
但是,当然,这不起作用.FOR循环将列表分别解释为3个令牌和1个令牌,因此分别myProg.exe仅执行3次和1次.
批文件解决方案
编写某种批处理(.bat)文件可能很容易:
SET COUNT=0
:MyLoop
IF "%COUNT%" == "1000" GOTO EndLoop
myProg.exe
SET /A COUNT+=1
GOTO MyLoop
:EndLoop
Run Code Online (Sandbox Code Playgroud)
但是,从命令行执行此操作是不是一种简单的方法?
有谁知道如何创建一个批处理文件,在一个目录中创建文件夹,增量名称为"问题1","问题2",...