Command line 使用变量更改批处理文件中的目录
问题是:Command line 使用变量更改批处理文件中的目录,command-line,batch-file,Command Line,Batch File,问题是: set Pathname = C:\Program Files cd %Pathname% pause 正如我所期望的那样,上面的内容不会改变目录。有人能告诉我为什么吗?set语句没有按您期望的方式处理空格;您的变量名为Pathname[space],等于[space]C:\Program Files 删除=符号两侧的空格,并将值用双引号括起来: set Pathname="C:\Program Files" 另外,如果命令提示符未对C:\打开,则仅使用cd无法更改驱动器 使用 或
set Pathname = C:\Program Files
cd %Pathname%
pause
正如我所期望的那样,上面的内容不会改变目录。有人能告诉我为什么吗?set语句没有按您期望的方式处理空格;您的变量名为
Pathname[space]
,等于[space]C:\Program Files
删除=
符号两侧的空格,并将值用双引号括起来:
set Pathname="C:\Program Files"
另外,如果命令提示符未对C:\打开,则仅使用cd
无法更改驱动器
使用
或
相反。这样做的简单方法。。。下面是一个例子
cd program files
cd poweriso
piso mount D:\<Filename.iso> <Virtual Drive>
Pause
cd程序文件
cd poweriso
皮索山D:\
暂停
这将把ISO映像装载到特定的驱动器上…使用可能值得一提的是,在使用包含空格的字符串时,通常不需要引号<“代码>设置C:\Program Files也可以工作。@MonkeyPutton,我想你的意思是
设置路径名=C:\Program Files
,但它确实可以与spacesIt一起工作,这取决于命令。”cd
和pushd
在路径周围加引号或不加引号时都表现良好md
、rd
和copy
等等,不要复制。为了安全起见,我通常在所有使用空格的路径上加引号。由于我正在将CD刻录到另一个驱动器,因此需要使用/d
,例如,CD从C:
到G:
必选/d
这并不能回答问题。
pushd %Pathname%
cd program files
cd poweriso
piso mount D:\<Filename.iso> <Virtual Drive>
Pause