【问题标题】:Batch file to move many listed files to one specific folder将许多列出的文件移动到一个特定文件夹的批处理文件
【发布时间】:2014-10-09 02:42:15
【问题描述】:

我有一个包含多个子文件夹的主文件夹。所有子文件夹都有许多具有不同扩展名(jpg、tif 和 png)的图像。所有子文件夹中的图片总数约为 90000 张图片。

问题是,我需要在 Master 文件夹及其子文件夹中搜索大约 500 张图像并将图像移动到指定文件夹。

我尝试了下面的批处理脚本来使用文本文件来搜索主文件夹和所有子文件夹,然后从列表中移动所有文件并将它们粘贴到指定的单个文件夹中。 包含没有扩展名的文件名的文本文件。 但是我的批处理脚本不起作用。它没有给我任何错误..但是当我运行它时没有任何反应。

set FIILELIST=C:\padhu\files.txt
set FILESPATH=C:\Padhu\MasterFolder
set DESTPATH=C:\DestinationFolder

for /f %%X in (%FIILELIST%) do call :MOVE_FILES "%%X"
goto :eof

:MOVE_FILES
for /r %FILESPATH% %%I in (%~1) do echo move /qvs "%%I" "%DESTPATH%%%~pnxI"

我对批处理脚本非常陌生,并且处于学习阶段。请帮助我。如果有人提供正确的批处理脚本来执行此操作,我将非常感谢。

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:

    你可以试试这个吗?

    set FIILELIST=C:\padhu\files.txt
    set FILESPATH=C:\Padhu\MasterFolder
    set DESTPATH=C:\DestinationFolder
    
    for /f "delims=" %%x in (%FIILELIST%) do (forfiles /p %FILESPATH% /s /m %%x.* /c "cmd /c move /y @path %DESTPATH%\@file" 2>>failed_temp.txt)
    for /f "tokens=5 " %i in (failed_temp.txt) do (echo.%~i)>>failed_list.txt
    del failed_temp.txt
    

    干杯,G

    【讨论】:

    • 谢谢,效果很好。我们可以获取文本文件中没有在主文件夹及其子文件夹中找到的文件列表吗?
    • 这将需要一些额外的编码,但是当您运行上述代码时,如果找不到文件,它将打印消息ERROR: Files of type "filename" not found.,您可以从中找到找不到的文件。
    • 在运行批处理时是否有任何命令可以获取文本文件中的所有错误消息。?
    • 现在添加了捕获故障的功能。未找到列表现在应该存储在failed_list.txt
    【解决方案2】:

    @gbabu 的回答对我很有帮助。

    我需要对其进行编辑以处理绝对(完整)而不是相对的文件名。我需要处理它们包含空格的问题。

    不幸的是,我不知道如何像 @gbabu 那样记录错误。

    @echo off
    REM See https://stackoverflow.com/a/25325529/470749
    REM See https://stackoverflow.com/a/163873/470749
    REM See https://stackoverflow.com/a/155950/470749
    set FILELIST="K:\F\Users\my_user\Documents\My Music\JUKEBOX\5.m3u_list.txt"
    set DESTPATH=C:\temp\cdrw
    for /f "usebackq tokens=*" %%x in (%FILELIST%) do (copy "%%x" %DESTPATH%)
    pause
    

    这些文章帮助了我:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多