Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line 使用变量更改批处理文件中的目录_Command Line_Batch File - Fatal编程技术网

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