标题: 多个u盘因电脑分区不同而盘符不同路径如何设置?
[打印本页]
作者: jellord
时间: 2007-3-11 10:21
标题: 多个u盘因电脑分区不同而盘符不同路径如何设置?
因工作关系,经常用从自己的u盘里面拷贝文件到别人的u盘中,所用编了个批处理程序。不过,因为电脑的分区都不同,如果我把批处理文件放在自己的u盘的根目录下,需要复制的源文件的路径比较好处理,但是目标u盘的路径就不好处理了。原因就是分区不同导致u盘的盘符也不同。请问如何在目标路径中设置将需要复制的文件复制到当前u盘的下一个盘当中(在盘符不确定的时候)。就是说我用两个u盘,其中第一个u盘中有我要复制的源文件,要将其复制到另一个u盘,也就是第一个u盘盘符后面的一个u盘,但是我们都知道,在不同的电脑上两个u盘的盘符因分区的不同而有不同,所以在copy命令中写目标路径的时候不能确定得知应该写到什么盘符。谢谢。
作者: slore
时间: 2007-3-11 10:28
@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
可以得到驱动器类型……你看看有用么?
作者: zhoushijay
时间: 2007-3-11 12:13
最好的办法,手动输入 ^_^!
echo off
set /p h=请输入盘符:
copy filename %h%:\
pause
[
Last edited by zhoushijay on 2007-3-10 at 11:15 PM ]
作者: lxmxn
时间: 2007-3-11 13:20
一下代码没有测试,自己凭空写出来的,有问题请跟贴讨论。
@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