需要运行批处理文件以将.jpg文件从.txt文件复制到文件夹

时间:2014-05-29 15:12:20

标签: windows batch-file cmd jpeg xcopy

我已经对谷歌等进行了一些研究,但我似乎越来越困惑,试图使用各种不同的脚本和程序,并在各种网站上阅读不同的信息。我找到了一个非常相似的人,他发布了这个试图完成同样任务的人。蝙蝠。脚本也在下面,但我似乎无法从我的C:驱动器上工作PC ...需要帮助。

这就是我需要的......

我有一个包含大约2000个文件的文件夹。我希望能够从这个文件夹中复制某些文件(通常在40左右)并将它们放在一个全新的文件夹中,我希望能够只用一个包含我需要复制的所有文件名的txt文件来做到这一点在其中,每个文件名都在一个单独的行上。

我每天收到大约10个新的txt文件,所以你可以想象它搜索2000个文件是多么乏味,挑选出我需要的40个,每天10次。

为了使事情变得更复杂,我收到的txt文件中始终没有正确的文件名,可能有一些拼写错误,或者某些名称缺少一两个字。当我通过挑选我需要复制的文件时,这是可以的,因为我通常可以告诉我们正在请求哪个文件,但是我无法看到它对程序来说如此简单或者无论做什么,我都猜测它需要有一个搜索功能来挑选最有可能的文件。

我希望它尽可能自动化。我收到了txt文件,确保每个文件名都在一个单独的行上,然后是一个程序或脚本或者其他任何内容,然后挑选出文件(或者最有可能的文件名称不是完全匹配的)并将它们复制到一个全新的文件夹中(我希望它与用于选择文件的文本文件同名)。

我希望这是有道理的,我可能听起来比我需要的要复杂得多,我现在一直在寻找解决方案,所以我的大脑有点模糊:/ < / p>

我很感激您提供的任何帮助!

-code --------------------------------------------- -----------------------------------------

@echo off
rem Text file with filenames
rem To be prompted for this change to  'set /p LIST=Path to text file: '
rem Or 'set LIST=%1' to run from cmd line like, filename.bat "D:\List.txt"
set LIST="D:\List.txt"

rem Path to the files to copy
rem Can be change the same as LIST
rem Or 'set FILESPATH=%2' to run like , filename.bat "D:\List.txt" "D:\Test"
set FILESPATH="D:\Test"

rem Destination path can be added here. eg set DESTPATH=C:\New Folder
rem If set change xcopy cmd to "%DESTPATH%\%DEST%\*"
rem Do not use quotes when setting DESTPATH

rem Set Destination folder based on LIST name
for %%i in (%LIST%) do set DEST=%%~ni

rem Read LIST and call :COPY_FILES for each line passing the line of text
for /F "usebackq delims==" %%i in (%LIST%) do (call :COPY_FILES "%%i")

exit

:COPY_FILES
rem Destination folder created in same location the batch file is run from
xcopy /qv %FILESPATH%\%1 .\%DEST%\*

0 个答案:

没有答案