正如 Andriy 已经指出的那样,您的帖子中有三个问题,第一和第二已经在 SO 中得到回答。
要解决您的最新问题,您需要遍历FOR
文件列表并仅比较要匹配的文件名部分。
为了帮助您并帮助您入门,请参阅以下示例代码。我从您的示例中假设您只想使用名称部分,而不使用扩展名,并且我假设在此示例中您想要的扩展名是 .log 和 .txt。您必须完成文件夹部分,更改和扩展它以满足您的需求。而且,作为额外的奖励,为了让这个样本可以理解,我也必须解决你的第二个问题,抱歉:)
@echo off
setlocal enabledelayedexpansion enableextensions
set destfolder=Folder01012001
set largest=
set largestname=
set /a largestsize=0
for %%a in (*.txt) do (
if %%~za gtr !largestsize! (
set largest=%%a
set largestname=%%~na
set /a largestsize=%%~za
)
)
set match=
for %%a in (*.log) do (
if %%~na==!largestname! (
set match=%%a
)
)
echo copy "!largest!" %destfolder%
echo copy "!match!" %destfolder%
endlocal