标题: [文件操作] [已解决]批处理如何按列表复制文件夹? [打印本页]
作者: lanh 时间: 2019-7-25 17:58 标题: [已解决]批处理如何按列表复制文件夹?
需求:根据文件夹名字的列表,将硬盘中有列表名字的文件夹复制到指定位置?
例如
文件夹列表是
1
2
3
4
5
6
.
.
.
N
硬盘里面只有3,4,5名字的文件夹,每个文件夹下面也有很多文件。
怎么把他们筛出来,直接以文件夹的形式复制到其他地方去
列表是TXT格式
文件夹名称也不是例子中那么简单和有序
另外就是
列表里面还有很多硬盘中没有的文件夹名称
没有的不用管
求支招
本人小白一个
写命令的时候请不要省哦
谢谢
作者: JC_2019 时间: 2019-7-25 18:21
这个是对比删除,你看看,希望对你有帮助,http://bbs.bathome.net/thread-53419-1-1.html
作者: lanh 时间: 2019-7-25 18:32
单个文件用.JPG,我要复制文件夹用代表呀?
命令基本看懂了
一、二行是进行比对
第三行是删文件
这样思路发展下去
代码就这样么?
@echo off
for /f "delims=" %%i in ('type "指定.txt"') do (
if exist "文件夹" (
XCOPY /3 "%%i.jpg"== 引号这里用啥? f:test
)
)
纯小白。。
只是最近有些数据要筛,人工会死人。。。
所以想看看能不能用批处理直接复制过去
文件夹里面还有N多文件等我去筛呢
回复 2# JC_2019
作者: zaqmlp 时间: 2019-7-25 20:19
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- set "新目录=D:\backup"
- for /f "delims=" %%a in ('type "指定文件夹.txt"') do (
- if exist "%%a\" (
- echo;"%%a" --^> "%新目录%\%%a"
- xcopy "%%a" "%新目录%\%%a\" /e /h /y
- )
- )
- echo;%info%
- pause
复制代码
作者: lanh 时间: 2019-7-25 21:47
...
自己也刚解决
用的是这个
@echo off
::设置列表文件
set List=目录.txt
::设置文件夹保存至哪个目录
set SavDir=f:\test
for /f "delims=" %%a in ('type "%List%"') do (
xcopy /s/e/h/y "%%~a\*" "%SavDir%\%%~nxa\"
)
pause
回复 4# zaqmlp
作者: lanh 时间: 2019-7-25 21:52
说实话
你的命令行看不太懂
自己找到的还基本能明白每一行是干啥用
不过后面还有需求
真实的需求比现在的要复杂一点点
因为要复制的文件夹上面还有几层文件夹
如何实现我还不知道呢
现在我找到的命令只能放在最底层的文件夹里
嗯?说着说着,你有一个D:那一行,是判定整个盘下的文件夹么?
回复 4# zaqmlp
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |