检查参数以获取信息

时间:2018-01-26 12:36:42

标签: batch-file

我有一个脚本可以读取其他.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 (

)

但也许有更好的方法?

1 个答案:

答案 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变成一个空字符串,这样您就可以跳出循环。