中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 18:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 多个u盘因电脑分区不同而盘符不同路径如何设置? 查看 898 回复 3
楼 主 多个u盘因电脑分区不同而盘符不同路径如何设置? 发表于 2007-03-11 10:21 ·  中国 福建 福州 电信
初级用户
积分 92
发帖 26
注册 2007-03-10 07:44
19年会员
UID 81291
性别 男
状态 离线
因工作关系,经常用从自己的u盘里面拷贝文件到别人的u盘中,所用编了个批处理程序。不过,因为电脑的分区都不同,如果我把批处理文件放在自己的u盘的根目录下,需要复制的源文件的路径比较好处理,但是目标u盘的路径就不好处理了。原因就是分区不同导致u盘的盘符也不同。请问如何在目标路径中设置将需要复制的文件复制到当前u盘的下一个盘当中(在盘符不确定的时候)。就是说我用两个u盘,其中第一个u盘中有我要复制的源文件,要将其复制到另一个u盘,也就是第一个u盘盘符后面的一个u盘,但是我们都知道,在不同的电脑上两个u盘的盘符因分区的不同而有不同,所以在copy命令中写目标路径的时候不能确定得知应该写到什么盘符。谢谢。
2 发表于 2007-03-11 10:28 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=\" %%a in ('fsutil fsinfo drives^|find /v ""') do (
set aa=%%a
set aa=!aa:~-2!
for %%i in (!aa!) do fsutil fsinfo drivetype %%i
)
pause

可以得到驱动器类型……你看看有用么?
3 发表于 2007-03-11 12:13 ·  中国 浙江 绍兴 诸暨市 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
最好的办法,手动输入 ^_^!

echo off
set /p h=请输入盘符:
copy filename %h%:\
pause

[ Last edited by zhoushijay on 2007-3-10 at 11:15 PM ]
4 发表于 2007-03-11 13:20 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  一下代码没有测试,自己凭空写出来的,有问题请跟贴讨论。

@echo off
:: 说明:加入此批处理放在你的U盘的根目录中
:: 需要复制的文件为 text.txt
:: 要将文件复制到第二个U盘的根目录中

for /f "skip=1" %%a in ('wmic logicaldisk where "Description='可移动磁盘'" get caption') do (
if not "%%a"=="%cd:~0,2%" set "drive=%%a#"
)

if not "%drive%"=="#" (set drive=%drive:~0,2%) else (echo 没有足够的 可移动磁盘 ,请检查!&pause&exit)

copy text.txt %drive%\
pause&exit/b0
论坛跳转: