[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何根据文件名从文件夹中搜索子文件夹,并复制出来?

背景:
1. E:\file\finsh  是源文件;
2.  查找条件为文本文档,命名为 文件名;
3.  查询结果为  搜索复制结果;

以上背景,在运用以下程序时,出现:搜索复制结果 的文件夹会显示出来,但是文件夹内无任何结果。 请各位大神指教,是哪里出了问题? 急切盼回复,谢谢~~
  1. @echo off
  2. md E:\file\搜索复制结果
  3. for /f "delims=" %%a in (文件名.txt) do (
  4.    for /f "delims=" %%b in ('dir /a-d /b /s E:\file\finsh') do (
  5. set "str=%%~nb"
  6. setlocal enabledelayedexpansion
  7. if not "!str:%%a=!"=="!str!" (endlocal &move "%%b" E:\file\搜索复制结果)
  8. endlocal
  9. )
  10. )
  11. pause
复制代码

  1. @echo off
  2. md E:\file\搜索复制结果
  3. for /f "delims=" %%a in (文件名.txt) do (
  4.    for /f "delims=" %%b in ('dir /a-d /b /s E:\file\finsh') do (
  5.         if  "%%~nb"=="%%a" (move "%%~sb" E:\file\搜索复制结果)
  6.    )
  7. pause
复制代码
智慧是,利用最简单的代码替代复杂事情的处理过程。
付款请扫头像二维码码,谢谢

TOP

回复 5# 大人大仙


    这个没错啊,Thumbs不等于215434520,所以不会执行move命令
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 flashercs 于 2018-10-15 18:20 编辑
  1. @echo off
  2. md E:\file\搜索复制结果\
  3. set "tmpfile=%temp%\$%random%$"
  4. for /f "delims=" %%A in (文件名.txt) do echo,[^^\\]*%%A[^^\\]*>>"%tmpfile%"
  5. for /f "delims=" %%B in ('"dir /a-d /b /s E:\file\finsh|findstr /ieg:"%tmpfile%""') do move "%%B" E:\file\搜索复制结果\
  6. del /q "%tmpfile%"
  7. pause
  8. exit /b
复制代码

TOP

本帖最后由 xczxczxcz 于 2018-10-15 18:00 编辑

越看越混乱了,你是要找到相同的就移动过去?还是不相同的就移动?

TOP

回复 4# Batcher


您好,test后,报错如下,求大神继续指导

TOP

回复 3# 大人大仙


把 @echo off 删掉
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat

这样可以看到详细的报错信息或者线索
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# flashercs

TOP

echo on打开看看运行过程啊

TOP

返回列表