Batch file 检查参数以获取信息
我有一个脚本,可以读取其他.bat文件并计算注释行数。我将要测试的.bat文件作为参数传递。 例如,这就是我如何开始我的脚本Batch file 检查参数以获取信息,batch-file,Batch File,我有一个脚本,可以读取其他.bat文件并计算注释行数。我将要测试的.bat文件作为参数传递。 例如,这就是我如何开始我的脚本 C:\User\User\Desktop>CommentReader.bat test.bat 现在test.bat需要与skcript位于同一文件夹中 我想要一个选项,可以传递多个需要测试的.bat文件,也可以传递路径。例如: C:\User\User\Desktop>CommentReader.bat D:\testfolder\test1.bat E
C:\User\User\Desktop>CommentReader.bat test.bat
现在test.bat需要与skcript位于同一文件夹中
我想要一个选项,可以传递多个需要测试的.bat文件,也可以传递路径。例如:
C:\User\User\Desktop>CommentReader.bat D:\testfolder\test1.bat E:\test2.bat test3.bat
我还想传递命令,例如/l,这样脚本也可以读取空行
C:\User\User\Desktop>CommentReader.bat /l D:\testfolder\test1.bat E:\test2.bat test3.bat
我知道如何编写代码,使它也可以读取空行,但
检查我的参数和检查信息的最佳方法是什么
我的想法是这样的:
FOR /f tokens=1,2,3,4,5,6,7,8,9, delims= " %%a in (%*) DO (
)
但是也许有更好的方法?正如Stephan在评论部分所说的那样,
SHIFT
是您要寻找的。此脚本将循环遍历所有参数并将其回显。只需将ECHO
命令替换为实际代码即可
@ECHO OFF
:LOOP
IF NOT "%1"=="" (
ECHO %1
SHIFT
GOTO LOOP
)
第一个参数总是
%1
,第二个参数总是%2
,依此类推。SHIFT
命令将“忘记”原始的%1
,并将所有索引减少1,因此%2
将变为%1
,%3
将变为%2
,依此类推。当您到达最后一个参数时,SHIFT
将把%1
变成一个空字符串,这样您就可以退出循环。和转到循环谢谢您的回答。我将和shift一起试用,我想这应该能解决我的问题d移位是否在整个脚本中保留,或仅在整个脚本中保留的IF查询?@RjuJBong中保留。