中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 多个u盘因电脑分区不同而盘符不同路径如何设置?
作者:
标题: 多个u盘因电脑分区不同而盘符不同路径如何设置? 上一主题 | 下一主题
jellord
初级用户





积分 92
发帖 26
注册 2007-3-10
状态 离线
『楼 主』:  多个u盘因电脑分区不同而盘符不同路径如何设置?

因工作关系,经常用从自己的u盘里面拷贝文件到别人的u盘中,所用编了个批处理程序。不过,因为电脑的分区都不同,如果我把批处理文件放在自己的u盘的根目录下,需要复制的源文件的路径比较好处理,但是目标u盘的路径就不好处理了。原因就是分区不同导致u盘的盘符也不同。请问如何在目标路径中设置将需要复制的文件复制到当前u盘的下一个盘当中(在盘符不确定的时候)。就是说我用两个u盘,其中第一个u盘中有我要复制的源文件,要将其复制到另一个u盘,也就是第一个u盘盘符后面的一个u盘,但是我们都知道,在不同的电脑上两个u盘的盘符因分区的不同而有不同,所以在copy命令中写目标路径的时候不能确定得知应该写到什么盘符。谢谢。

2007-3-11 10:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

@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

可以得到驱动器类型……你看看有用么?

2007-3-11 10:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 3 楼』:  

最好的办法,手动输入 ^_^!

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

[ Last edited by zhoushijay on 2007-3-10 at 11:15 PM ]

2007-3-11 12:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


  一下代码没有测试,自己凭空写出来的,有问题请跟贴讨论。
@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


2007-3-11 13:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: