微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的批处理脚本给出文件名,目录名称错误

当我运行这个脚本

@echo off for /F "usebackq delims=" %%I in ("%userprofile%desktopmyfile.txt") do type NUL > "%userprofile%desktopuser%%I.mp3" pause exit

我得到这个错误

文件名,目录名称或卷标语法不正确

谁能帮助解决这个错误

从powershell传递batch file中的参数

将多个命令的输出redirect到一个文件

.bat文件重命名当前用户的目标文件

使用名称批处理脚本中的空格移动文件

recursion重命名文件夹Windowsbatch file中的文件

批处理variables在执行时不扩展

通过Windows批量重命名具有不同扩展名的文件

使用批重命名模式名称的多个文件

在PowerShell中使用%〜dp0等效(使用Expand-Archive cmdlet)

使用批次将文件文件夹复制到另一个path

斯蒂芬和韦斯在他们的评论中暗示了你的问题的最可能的来源。

您的myFile.txt最有可能包含一些文件文件夹的完整路径,包括驱动器号。 %USERPROFILE%还包含一个带有盘符的完整路径。 假设用户是“someUser”,并且文件中的路径是“c: somePath someFile.ext”,那么你最终得到:

echo nul >"C:UseRSSomeUserdesktopuserc:somePathsomeFile.ext.mp3"

这样一个错误的路径将会产生你发布的错误信息。 一个有效的路径最多可以在驱动器号后包含一个冒号,但上面有两个冒号。

你可以通过%%~nI保存文件的名字来解决这个问题,这会产生:

echo nul >"C:UseRSSomeUserdesktopusersomeFile.mp3"

我仍然关心桌面中的“用户文件夹。 这看起来很可疑。 如果该文件夹不存在,则会收到不同的错误消息: The system cannot find the path specified.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐