批处理修改分区盘符

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



批处理修改分区盘符
批处理修改分区盘符




目的是更改盘符,
比如把D改成Z,然后再把E改成D.
@echo off
set old=D:
set new=Z:
pushd %new% 2>nul && echo %new%盘已经存在! && pause && goto :eof
for /f %%i in ('mountvol %old% /l') do set "vol=%%i"
mountvol %old% /d
mountvol %new% %vol%
popd
:: 说明,我这里用::表示注释了

@echo off
:: 去掉回显

set old=D:
:: 设置变量old

set new=Z:
:: 设置变量new

pushd %new% 2>nul && echo %new%盘已经存在! && pause && goto :eof
:: 检查 new 盘符是否存在,如果存在,则结束
:: 上面的 && 符号,是顺序执行,在前面成功后,才会继续后面的命令。
:: 也就是 说new盘符存在,才能 把 这个路径pushd到内存中。
:: 这里pushd应该只是一个校验,要的就是让这个命令失败后继续,成功则跳过后面的命令直到结束

for /f %%i in ('mountvol %old% /l') do set "vol=%%i"
:: for 循环中,/f 参数表示in 后面的参数是一个整体,而不是多个参数
:: 参见 "for /? "输出第87-89行
:: mountvol %old% /l 命令给出old盘符的对应的设备文件,通常只有一个
:: 上面的循环,最终实现的是:
:: 把mountvol %old% /l命令的输出,赋给vol变量

mountvol %old% /d
:: 删除old盘符

mountvol %new% %vol%
:: 把vol设备文件对应的盘符(即原old盘)设置新的盘符new

popd
:: popd命令与pushd命令相对应。但只有成功的pushd才有意义,
:: 而这里成功执行pushd后,会跳到最后,因此这个命令在这里好像没有意义。


::至此,该批处理实现了你修改D盘为Z盘的功能,如果要继续修改E盘为D盘,应该道理一样.如果不行可能和操作系统的关~~~

Powered by 无名小鬼

相关文档
最新文档