当我运行此脚本时
@echo off
for /F "usebackq delims=" %%I in ("%userprofile%\desktop\myfile.txt") do type NUL > "%userprofile%\desktop\user\%%I.mp3"
pause
exit
我收到此错误
文件名,目录名或卷标语法不正确
任何人都可以帮助修复错误
答案 0 :(得分:1)
斯蒂芬和韦斯在评论中都提到了问题的最可能来源。
您的myFile.txt很可能包含某些文件或文件夹的完整路径,包括驱动器号。 %USERPROFILE%还包含带驱动器号的完整路径。假设用户是" someUser",文件中的路径是" c:\ somePath \ someFile.ext",那么你最终得到:
echo nul >"C:\Users\someUser\desktop\user\c:\somePath\someFile.ext.mp3"
这样的错误路径会产生您发布的错误消息。有效路径最多可包含驱动器号后面的单个冒号,但上面有两个冒号。
您可以通过%%~nI
仅保留文件名来解决该问题,这会产生:
echo nul >"C:\Users\someUser\desktop\user\someFile.mp3"
我仍然关注"用户"桌面上的文件夹。这看起来很可疑。如果该文件夹不存在,那么您将收到不同的错误消息:The system cannot find the path specified.