场景:我们有一个产品的多个版本,并且对于每个版本,都会在主文件夹中创建一个文件夹。帮助文件在各种版本中进行了修改。我在文本文件中列出了所有帮助文件名。我需要一个脚本来:
- 从 filenames.txt 文件中获取每个文件名
- 在整个目录中搜索该名称的文件(在所有版本中)
- 查找最新文件
- 复制到指定文件夹
我从 Stack Overflow 上找到的各种代码中获取帮助,并将它们组合起来得到以下代码:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
echo.
FOR /F "usebackq delims=" %%a in ("filenames.txt") do (
SET "x=%%a"
ECHO '!x!'
SET FFPath=C:\SVN\nlbavwdocsvn\rep_doc_erpln\trunk\ERPLN
SET NewPath=C:\Lavanya\extracted
SET NewestDate=20160824
ECHO Recursively searching %FFPath%
FOR /F %%I in ('DIR %FFPath%\ !x! /a:-d /s /b') DO (
SET FullDate=%%~tI
ECHO %FFPath%
REM Set CurrDate to yyyymmdd format. Note: Will fail if regional settings changed.
SET CurrDate=!FullDate:~6,4!!FullDate:~0,2!!FullDate:~3,2!
If !CurrDate! gtr !NewestDate! (
SET NewestDate=!CurrDate!
SET NewestFile=%%~fI )
ECHO Copying %NewestFile% to %NewPath%
ECHO.
COPY /Y "%NewestFile%" "%NewPath%"
ECHO.
)
)
PAUSE
此代码不起作用。而且我无法弄清楚错误。