我是脚本编写的新手,无法让这个工作 . 如果我将文件移动到没有空格的路径,我可以,但我希望它能够与空间一起工作 .
我想从一个带有.cmd文件的文件夹中提取一堆Office更新 . 为了使批处理文件在任何计算机上都可用,我设置了一个路径变量,我只需要在一个地方更改它以在另一台机器上运行它 . 问题是路径中有一个空格 . 如果我在定义中的路径周围放置引号,cmd.exe会在它附加文件名和开关之前将它们放在路径周围,并且批处理失败并显示“命令行语法错误” . 没有引号,它失败,“不被识别为内部或外部命令,可操作程序或批处理文件 . ”
为了测试,我正在使用帮助开关,直到或者如果我可以使它工作 . 我可以使用8.3文件/文件夹名称(例如我的文档作为MyDocu~1),但它可以以不同的方式完成吗?
8 回答
尝试这样的事情:
我用
更新路径时:
这里有两种选择 . 首先,您可以存储未加引号的路径,稍后再引用它:
你可以使用的另一个选项是一个子程序,它可以用于取消引用字符串(但在这种情况下,它实际上不是一个好主意,因为你要添加引号,将它们剥离并重新添加它们而没有任何好处):
%~1
删除参数周围的引号 . 当引用文件夹名称时,这会派上用场,但如前所述,在这种特殊情况下,这不是最好的主意:-)试试这个;
在创建.bat文件时,我总是将路径放在双引号中 . (我刚刚添加了PAUSE,因此它不会关闭屏幕 . )
例如:
这样做的正确方法是这样的:
解决此问题的最简单方法是将文件夹名称放在引号中:
(cd\New Folder\...) --> (cd\"New Folder"\...)
希望这会有所帮助 .
如果需要存储永久路径(重新启动cmd时路径不会更改)
以管理员身份运行命令提示符(右键单击cmd.exe并选择以管理员身份运行)
在cmd
setx path "%path%;your new path"
然后输入通过键入路径并按Enter键检查路径是否正确