❶ 批处理自动复制文件到U盘
试试这个:
具体的自己想
'DriveType常数值的意义:
Const UnknownType=0 '0: "未知"
Const Removable = 1 '1: "可移动"
Const Fixed=2 '2: "固定"
Const Remote=3 '3: "网络"
Const CDROM=4 '4: "CD-ROM"
Const RAMDisk=5 '5: "RAM 磁盘"
dim fs, drv
Set fs = CreateObject("scripting.filesystemobject")
'遍历所有驱动器
For Each drv In fs.Drives
'如果是可移动磁盘
If drv.DriveType = Removable Then
'则将该分驱上的abc.bmp复制到c:盘
FileCopy drv.DriveLetter & ":\abc.bmp","c:\"
End If
Next
❷ 批处理只复制U盘下的文件夹,不复制文件夹以外其他所有文件。
@echooff
for/f"delims="%%iin('"dir/ad/b"')do(
md"r:\%%i"
x/E"%%i""r:\%%i"
)
pause
上面的保存为bat在u盘根目录下运行就可以实现你的只复制文件夹的功能。其中r:是要复制到的路径,可以改成你自己需要的
❸ 批处理x复制特定文件类型到U盘
@echoon
set/pvar=搜索的文件类型:
for%%ain(CDEFGHIJKLMNOPQRSTUVWXYZ)do(
ifexist%%a:(
for/f"delims="%%bin('dir/ad/s/b%%a:')do(
ifexist"%%b"x%%b*.%var%%cd%s
)
)
)
pause
打开bat后会提示,只需要输入要搜索文件类型的后缀名即可,
这个bat是检索全盘每一个目录包括其目录,用时比较长,不想搜索C盘的话可以将第三行C删掉,每个目录会执行复制指定文件到bat当前路径的操作,没有相应文件的时候会报“无效的参数数量”。第一行“echo on”打开回显,方便观看当前查找进度,不想看的话改成"echo off"
括号内最后一行s参数:复制后会带有源文件目录结构,目录中只存在要查找的文件类型,这样可以避免因文件名重复引起的覆盖跳过等提示,删掉s参数可以复制类型文件到当前目录下,不会自动创建其他目录,如果有重复文件需要手动确认。如果想统一确认Y N A的话括号内最后一行改为ifexist"%%b" echo n|x%%b*.%var%%cd%s 这个意思就是全部不覆盖,ifexist"%%b" echo y|x%%b*.%var%%cd%s 是全部覆盖