我正在尝试编写一个脚本,它将检测我的 USB 可移动驱动器的字母“UUI”,然后在其上创建文件夹。我为 CMD 编写了一些命令,当单独运行时,它们可以工作。但是,当我将它们放入 bat 文件时,我总是会遇到一些错误。以下是 bat 文件中的命令:
for /F "tokens=1 delims= " %i in ('WMIC logicaldisk where "DriveType=2" list brief ^| c:\windows\system32\find.exe "UUI"') do (echo %i > drive.txt)
set /p RemovableDriveLetter2= < drive.txt
del /F /Q drive.txt
set RemovableDriveLetter=%RemovableDriveLetter2:~0,1%
%RemovableDriveLetter%:
md MyNewFolder
cd MyNewFolder
当我转到 cmd.exe 并通过调用“myScript.bat”或“call myScript.bat”运行该文件时,我收到一个错误:
C:\Users\UUI\Desktop>myScript.bat
\windows\system32\find.exe 此时出乎意料。
C:\Users\UUI\Desktop>for /F "tokens=1 delims=" \windows\system32\find.exe "UUI"') 做 (echo i > drive.txt)
C:\用户\UUI\桌面>
我可以看到 MyNewFolder 没有创建。但是,当我复制所有行并在 CMD 中运行它们(例如不在 .bat 文件中)并一一运行它们时,它在 cmd.exe 实例中是完全正常的。
如何创建 bat 文件,该文件将成功运行并检测可移动驱动器的驱动器号而不会出现问题?或者我该如何解决错误“\windows\system32\find.exe 在这个时候是意外的。”?