我需要一个批处理或一些代码来查找文件名中的 2 个字符,然后按字母顺序复制具有最新版本的文件。
因此,对于源文件夹中的文件列表,它将查看第 8 个和第 9 个字符 A1、B1 等并将 ABC0123E1.pdf 复制到目标。
- ABC0123A1.pdf
- ABC0123B1.pdf
- ABC0123C1.pdf
- ABC0123D1.pdf
- ABC0123E1.pdf
任何帮助,将不胜感激。谢谢。
我需要一个批处理或一些代码来查找文件名中的 2 个字符,然后按字母顺序复制具有最新版本的文件。
因此,对于源文件夹中的文件列表,它将查看第 8 个和第 9 个字符 A1、B1 等并将 ABC0123E1.pdf 复制到目标。
任何帮助,将不胜感激。谢谢。
只需修改dir
命令的选项。
使用该选项/on
,您将获得以下输出:
>dir /on /b ABC0123?1.pdf ABC0123A1.pdf ABC0123B1.pdf ABC0123C1.pdf ABC0123D1.pdf ABC0123E1.pdf
..和/o-n
你得到相反的顺序:
>dir /on /b ABC0123?1.pdf ABC0123E1.pdf ABC0123D1.pdf ABC0123C1.pdf ABC0123B1.pdf ABC0123A1.pdf
如需帮助,请输入dir /?
cmd。
代码是:
for /f "delims=" %%a in ('dir /on /b ABC0123?1.pdf') do set "LatestAlfa=%%~a"
echo %LatestAlfa%
我的第二个答案将焦点放在第 8 个字符上:
@ECHO OFF &SETLOCAL
cd test
for /f "tokens=1*" %%x in ('
(for %%a in (*.pdf^) do @(
set "fname=%%~a"
^&call echo %%fname:~7^,1%% %%fname%%^)
^)^|sort /r') do echo %%~y