2012zhiwen 发表于 2018-8-4 20:53:07

批处理复制问题

本帖最后由 2012zhiwen 于 2018-8-5 10:40 编辑

在网上看到如下的批处理
@echo off
echo 正在搜索文件……
set n=0
for %%a in (e f g h i j) do (
if exist %%a:\(
for /f "delims=" %%i in (列表.txt) do (
for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%%i" 2^>nul') do (
if /i "%%~nxb" equ "%%i" (
set /a n+=1
echo 找到"%%~nxb"文件
echo "%%~dpb%%~nxb">>备份列表.txt
copy "%%~dpb%%~nxb" "D:\2" /y
)
)
)
)
)
echo *********************************
echo 共找到并复制%n%个文件!
echo *********************************
pause
notepad.exe 备份列表.txt


以上意思是在 E盘 F盘 G盘 H盘 I盘 G盘 按照 列表.txt 文件所列出的文件复制到D:\2   ,然后生成备份列表.txt文件记录复制的信息..


请问各位如何让她指定文件夹路径复制呢...








holley2008 发表于 2018-8-5 05:22:50

本帖最后由 holley2008 于 2018-8-5 06:00 编辑

这个批处理就是查找指定文件来进行复制备份
复制文件、文件夹 通常用xcopy 加参数 要更好 你这种copy会将2当做文件,找到的多个文件会合并备份 没法分离
你最后一句话 没听懂是说查找有什么特征的文件夹 再备份吗?
单纯备份文件夹路径中的东西 一条就可以了
xcopy /e %%i "D:\2\"

2012zhiwen 发表于 2018-8-5 10:39:48

holley2008 发表于 2018-8-5 05:22
这个批处理就是查找指定文件来进行复制备份
复制文件、文件夹 通常用xcopy 加参数 要更好 你这种copy会将2 ...

意思是:这个批处理只能在指定的E盘F盘G盘H盘I盘 J 盘 里面查找文件并且复制,,,,有什么办法让它到指定的路径去查找文件(例如:到F:\歌曲\歌星\刘德华      去查找文件并且复制)

holley2008 发表于 2018-8-6 07:14:53

2012zhiwen 发表于 2018-8-5 10:39
意思是:这个批处理只能在指定的E盘F盘G盘H盘I盘 J 盘 里面查找文件并且复制,,,,有什么办法让它到 ...

对应的盘符改为路径不就可以了?{:3_145:}
我理解你的意思是:目的还是查找文件,,只不过已经明确查找范围(指定路径)了嘛?
“%%a:\*%%i”其实已经包含几个盘符的所有路径了,,,你需要指定什么路径,补充一下(“%%a:\歌曲\歌星\刘德华\*%%i”)不就好了?

2012zhiwen 发表于 2018-8-6 11:10:50

holley2008 发表于 2018-8-6 07:14
对应的盘符改为路径不就可以了?
我理解你的意思是:目的还是查找文件,,只不过已经明确查找 ...

大神,请收下我的膝盖...我没有发帖前,找了好久百度,都没有找到方法,就是被你这一句"补充一下(“%%a:\歌曲\歌星\刘德华\*%%i”)不就好了",提醒了...感谢大神...谢谢
页: [1]
查看完整版本: 批处理复制问题