批处理内的文件名,目录名或卷标语法不正确

Deb*_*Das 9 windows cmd

当我在批处理中运行以下内容时....

set PATH='C:\Users\DEB\Downloads\10.1.1.0.4'
cd !PATH!
Run Code Online (Sandbox Code Playgroud)

我收到错误"文件名,目录名称或卷标语法不正确"

更新:有一些解决方案对我有用.

  • 不要PATH用作var名称
  • 把它设为 "myPATH=C:\Users\DEB DAS\Downloads\10.1.1.0.4"

Tes*_*ler 11

set myPATH="C:\Users\DEB\Downloads\10.1.1.0.4"
cd %myPATH%
Run Code Online (Sandbox Code Playgroud)
  • 单引号不表示字符串,它们使它开始:'C:\而不是C:\这样

  • %name%是扩展变量的常用语法,!name!需要先使用命令启用语法setlocal ENABLEDELAYEDEXPANSION,或者运行命令提示符CMD /V:ON.

  • 不要使用PATH作为您的名称,它是包含可执行程序的所有位置的系统名称.如果覆盖它,脚本的随机位将停止工作.如果您打算更改它,您需要做的set PATH=%PATH%;C:\Users\DEB\Downloads\10.1.1.0.4是保持当前的PATH内容,并添加一些东西到最后.

  • +1,但``name!`语法可以在`setlocal ENABLEDELAYEDEXPANSION`之后的任何地方使用,而不仅仅是在循环中. (2认同)