用批处理实现映射盘网络盘为固定盘符,请更改冲突的硬盘盘符

所属分类: 脚本专栏 / DOS/BAT 阅读数: 310
收藏 0 赞 0 分享

以前在CSDN上提交的FAQ,不能通过搜索引擎来搜索CSDN的FAQ,找了好一会才找到。现CSDN的FAQ只有CSDN用户才能正常访问,固转到BLOG。

http://faq.csdn.net/FAQUnfurl.aspx?id=216232

Q:现有50台电脑需要映射一网络驱动,网络映射盘必须为F盘。问题是目前有部分电脑已有本地F盘,需要把本地的F盘的盘符更换成J后,再映射网络驱动到F盘。由于电脑多,故想用批处理文件解决。

A:
---------------------------------------------------------------
可以使用diskpart 脚本
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/ca099518-dde5-4eac-a1f1-38eff6e3e509.mspx

批处理内容:
echo select volume f >remove.txt
echo remove >>remove.txt
diskpart /s remove.txt >output.txt
net use f: \\ip\dir
set vol=0
for /f "skip=6 delims=卷DiskPart成功地删除了驱动器号或装载点。 " %%i in (output.txt) do set vol=%%i
echo select volume %vol% >assign.txt
echo assign >>assign.txt
diskpart /s assign.txt
del remove.txt
del assign.txt
del output.txt
---------------------------------------------------------------

1、先移除F盘盘符,命令如果成功执行会输出文本到output.txt
  diskpart> select volume f 选择F盘,成功的话会有输出显示选择了某个盘假设为:卷5
        diskpart> remove 移除当前选择盘的盘符的
     diskpart /s remove.txt >output.txt 是为了把diskpart的输出内容写到output.txt中

2、加载网络盘
    net use f: \\ip\dir 详细用法想楼主应该会使用,具体帮助见net help use

3、利用output.txt获取卷5
  for 执行过程:条过6行,并把“卷DiskPart成功地删除了驱动器号或装载点。 ”里的内容作为分隔符进行读文本,那就会把数字5读取到变量%%i中,然后赋值给vol变量

4、重新加载卷5
  diskpart> select volume 5 选择卷5,因为我们已经移掉盘符,所以就只能用数字了,这就是output.txt的作用
    diskpart> assign 移除当前选择盘的盘符的

更多精彩内容其他人还在看

Cls 清除命令提示符窗口

Cls 清除命令提示符窗口
收藏 0 赞 0 分享

Cmd 启动命令解释器 Cmd.exe 的新实例

Cmd 启动命令解释器 Cmd.exe 的新实例
收藏 0 赞 0 分享

Cmstp 安装或删除“连接管理器”服务配置文件

Cmstp 安装或删除“连接管理器”服务配置文件
收藏 0 赞 0 分享

color 对于当前会话,更改命令提示窗口的前景和背景色

color 对于当前会话,更改命令提示窗口的前景和背景色
收藏 0 赞 0 分享

配置命令提示符的方法

配置命令提示符的方法
收藏 0 赞 0 分享

Comp 逐字节地比较两个文件或几组文件的内容

Comp 逐字节地比较两个文件或几组文件的内容
收藏 0 赞 0 分享

Compact 显示和更改 NTFS 分区上的文件或目录压缩

Compact 显示和更改 NTFS 分区上的文件或目录压缩
收藏 0 赞 0 分享

Del (erase) 删除指定文件

Del (erase) 删除指定文件
收藏 0 赞 0 分享

Convert  将 FAT 和 FAT32 卷转换为 NTFS

Convert  将 FAT 和 FAT32 卷转换为 NTFS
收藏 0 赞 0 分享

copy 将一个或多个文件从一个位置复制到其他位置

copy 将一个或多个文件从一个位置复制到其他位置
收藏 0 赞 0 分享
查看更多