我有一个脚本可以读取其他.bat文件并计算注释行。我将要测试的.bat文件作为参数传递。 例如,这就是我开始编写脚本的方式。
C:\User\User\Desktop>CommentReader.bat test.bat
现在test.bat需要与Skript在同一个文件夹中。
我想要的选项是我可以传递多个需要测试的.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 (
)
但也许有更好的方法?
答案 0 :(得分:1)
正如斯蒂芬在评论部分中所说,SHIFT
是您正在寻找的。此脚本将遍历所有参数并将其回显。只需将ECHO
命令替换为您的实际代码即可。
@ECHO OFF
:LOOP
IF NOT "%1"=="" (
ECHO %1
SHIFT
GOTO LOOP
)
您的第一个参数始终为%1
,第二个参数为%2
,依此类推。 SHIFT
命令将会忘记"原始%1
并将所有索引减1,因此%2
将变为%1
,%3
将变为%2
,依此类推。一旦到达最后一个参数SHIFT
,就会将%1
变成一个空字符串,这样您就可以跳出循环。