有人能为初学者解释一下for命令行的作用吗



我是批处理脚本编写的新手,必须更改批处理代码中的一些行。

我需要了解以下命令行的含义:

for /f %%i in ('logicals -t file_location') do set DIR=%%i

它获取命令logicals -t file_location的结果,并将结果的第一部分(用空格分隔)设置为DIR变量。以下是的更多信息

请记住,logicals命令不是windows中的本机命令,nut是一个外部实用程序。

这是将程序输出分配给变量的Windows批处理。

有关详细信息,请参阅将命令的输出读取到批处理文件变量中。

您可以通过键入for/来了解有关批处理命令的所有信息?在命令提示符中。

需要考虑的一点是,与仅在命令行上运行命令相比,for命令在批处理文件中的工作方式略有不同,因为您必须将%%字符加倍。

对于这个问题,这个命令所做的是运行命令'logicals -t file_location',然后该命令的每一行输出(我认为它是路径说明符)作为参数传递给dir命令。

for /f:循环命令:针对一组文件-有条件地对每个项执行一个命令。

语法:

    FOR /F ["options"] %%parameter IN (filenameset) DO command 
    FOR /F ["options"] %%parameter IN ("Text string to process") DO command

来源:http://ss64.com/nt/for_f.html

相关内容