辣丝丝小白菜 发表于 2019-12-19 18:03

windows一键更换U盘/移动硬盘盘符为U:的bat脚本

这个感觉用处也不是很大,但楼主懒,对本人还是有点用处。
经常更换电脑的,或经常移动办公的,经常用u盘或移动硬盘的,肯定知道,一换电脑,u盘盘符就会变,很烦人。
楼主并不能让u盘在每一台新电脑上都固定盘符,但是另辟蹊径,把u盘的盘符设置的靠后一点,例如U:,这样一般情况下,即使有其他的u盘先插入,也不会分配到U:,这样你的u盘基本上都会固定在U:
另外,你需要改一下脚本里的需要设置成的盘符,和你原来U盘的名字。
另外,可能有编码原因,utf8的可能不大行。
另外,设置一次后,下次插入U盘还是你设置的盘符。新电脑上需要重新运行一次。
另外,不能在U盘运行此脚本,原因是这个脚本原理就是删除旧盘符,分配旧盘符,但是如果在U盘里运行,删除旧盘符时,还没运行到分配这步,U盘就消失不见了,所以程序直接退出了。
另外,需要以管理员权限运行。建议测试请先用其他无用的U盘试一下。
另外,
另外,
另外,觉得好用的,支持一下,给个热心什么的,不强求哈。

贴上源码:

@echo off

set uname=可移动硬盘
set new=U:
set current=%~d0

echo 当前盘符是 %current%

for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "VolumeName='%uname%'" get DeviceID /value') do (
        set old=%%a
)
echo 移动硬盘盘符是 %old%

if %current%==%old% (
    echo 当前bat运行盘符和移动硬盘盘符相同!请更换bat脚本运行路径后重试
    pause
    exit
) else (
    goto start
)

pause
exit


:start
pushd %new% 2>nul && echo %new%盘已经存在! && pause && goto :eof
for /f %%i in ('mountvol %old% /l') do set "vol=%%i"
echo %vol%
mountvol %old% /d
mountvol %new% %vol%
popd
pause
exit


觉得好用的,支持一下,给个热心什么的

tz_being 发表于 2019-12-20 15:46

帮你更新一下,一连串的“另外”可以免了:

1、更强的兼容性(原脚本在我Win7电脑上取不到盘符)

2、不需要用户更改脚本里U盘的名字了

3、可以在U盘运行此脚本,不需要重新插拨即时更换盘符。

https://www.lanzouj.com/i8586tg


tz_being 发表于 2020-7-19 16:00

v1331v 发表于 2020-7-19 15:45
大佬,我没有权限留不了言

密码在上一页:hwkw

如果还有点用,给个热心哦

速度富贵浮云 发表于 2019-12-19 18:12

如果可以的话,建议你加个是否在U盘的判断,给他一个提示。
不然有些人看不到你的提示那U盘的盘符就没了

qqqllo9 发表于 2019-12-19 18:13

学习试用

辣丝丝小白菜 发表于 2019-12-19 18:16

速度富贵浮云 发表于 2019-12-19 18:12
如果可以的话,建议你加个是否在U盘的判断,给他一个提示。
不然有些人看不到你的提示那U盘的盘符就没了

已经加了提示了,判断如果运行盘符,是要改的盘符是一个的话,程序会终止

rscsm2000 发表于 2019-12-19 18:36

谢谢!等有空试试好不好用。

NvidiaChina 发表于 2019-12-19 19:11

支持原创!!!

Sync 发表于 2019-12-19 19:15

不错不错 感谢分享

阿俊儿 发表于 2019-12-19 19:17

好东东 帮你顶一下

qi511212 发表于 2019-12-19 20:08

收藏,备用。。。。。。。。。。。。。。。。。。

chipplei 发表于 2019-12-19 22:30

收藏了,有空好好研究
页: [1] 2 3
查看完整版本: windows一键更换U盘/移动硬盘盘符为U:的bat脚本