Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 相同的FOR循环行为不同(WinXP)_Networking_Loops_Batch File_Windows Xp - Fatal编程技术网

Networking 相同的FOR循环行为不同(WinXP)

Networking 相同的FOR循环行为不同(WinXP),networking,loops,batch-file,windows-xp,Networking,Loops,Batch File,Windows Xp,我正在尝试编写一个批处理脚本,其中包含一个将驱动器映射输出到文本文件的部分,以便在清除计算机后恢复它。我提出了这个for循环来实现它,但是当它是一个批处理脚本时,它的行为与运行命令本身时不同 这是实际的代码行: FOR /F "tokens=1,2" %i in (H:\mappings2.dat) do @echo %i %j 当我将命令从脚本复制并粘贴到命令窗口时,效果很好。当我从命令窗口运行批处理脚本时,它会输出以下内容: FOR /F "tokens=1,2" \mappings2.d

我正在尝试编写一个批处理脚本,其中包含一个将驱动器映射输出到文本文件的部分,以便在清除计算机后恢复它。我提出了这个for循环来实现它,但是当它是一个批处理脚本时,它的行为与运行命令本身时不同

这是实际的代码行:

FOR /F "tokens=1,2" %i in (H:\mappings2.dat) do @echo %i %j
当我将命令从脚本复制并粘贴到命令窗口时,效果很好。当我从命令窗口运行批处理脚本时,它会输出以下内容:

FOR /F "tokens=1,2" \mappings2.dat) do @echo j
\mappings2.dat) was unexpected at this time.
我猜有一些小技巧可以解决它,但我在谷歌上找不到任何东西

哦,如果你想知道这里是脚本的那一部分:

net use > H:\mappings0.dat

findstr /r [A-Z]: H:\mappings0.dat > H:\mappings2.dat

FOR /F "tokens=1,2" %i in (H:\mappings2.dat) do @echo %i %j >> H:\mappings1.dat

没关系,我想出来了…for循环变量必须有两个百分号,而命令行版本只对循环变量使用一个百分号…我在for循环中的每个变量中添加了另一个百分号,现在它工作得很好