Board logo

标题: [文件操作] 批处理只复制U盘下的文件夹,不复制文件夹以外其他所有文件。 [打印本页]

作者: okobe0    时间: 2015-4-22 19:15     标题: 批处理只复制U盘下的文件夹,不复制文件夹以外其他所有文件。

现在有很多个U盘的文件夹需要复制,所有U盘根目录下都是一个文件夹和文件夹之外许多文件的混合,根据需要,只复制U盘根目录下的这个文件夹,文件夹以外的文件不需要复制。
每个U盘里要复制的文件夹名称都不相同,文件夹除外的其他文件不需要复制也没有用,并且比较大复制起来很浪费时间。
问下高手:要写一个怎样的批处理,插上U盘后,只执行复制U盘根目录下名称随机的这个文件夹,复制的文件夹包括文件夹里所有的文件,其他文件一概不复制。
比如U盘根目录下有4个文件和一个文件夹,分别是“1.pdf”  “2.rar”  “3.iso”  “4.7z”和随机命名的文件夹 “我的文件夹ac5”
做好的批处理,执行后,只复制 “我的文件夹ac5”,其他一概无视。
复制的文件粘贴后,文件夹默认合并,文件如果有相同能不能自动重命名?
多谢各位大哥帮忙了。
作者: yangfengoo    时间: 2015-4-23 10:22

关键是怎么知道哪个是随机的呢
作者: okobe0    时间: 2015-4-23 12:25

本帖最后由 okobe0 于 2015-4-23 12:32 编辑

回复 2# yangfengoo


    比如随意插上一个U盘,U盘里就是一个文件夹和一大堆无用文件,我只需要复制这个文件夹,其他不要。我用XCOPY,结果除文件夹以外,其他的文件也被复制,太浪费时间了。
简单点,就是插U盘,把U盘根目录下唯一的文件夹复制走,其他的东西不要。
作者: yangfengoo    时间: 2015-4-23 12:59

  1. for /f %%a in ('dir /ad /b') do xcopy /s /y %%a c:\%%a\
复制代码
把BAT文件放在u盘根目录,或者自己修改完整路径
作者: okobe0    时间: 2015-6-19 09:57

回复 4# yangfengoo

怎么把下面这句代码加入到你写出来的代码中,以实现复制I盘根目录下任意名称的文件夹?
下面的两部分代码我关联不上,怎么才能接上呢?

for /f "delims=" %%i in ('"dir /ad /b I:"') do copy "I:\%%i" "E:\%%a\"


'&cls&@echo off
'&cls&for /f %%a in ('cscript -nologo -e:vbscript %~fs0') do (if not exist "E:\%%a\" md "E:\%%a\"&copy "I:\%%i" "E:\%%a\")
h=hour(now)
d=date()
if h>=0 and h<8 then
d=date()-1
z="晚上"
elseif h>=8 and h<18 then
z="白天"
else
z="晚上"
end if
wscript.echo month(d)&"月"&day(d)&"日"&z




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2