You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建FULL_REMOTE_DIR与FULL_LOCAL_DIR的联合文件名列表

生成两个目录文件的联合列表解决方案

方法1:直接遍历并输出联合列表

将两个目录路径用空格分隔,放入同一个FOR循环中,即可一次性遍历两个目录的所有文件并输出:

@echo off
SETLOCAL enabledelayedexpansion
TITLE Demo Mode
ECHO small script to showcase
ECHO how to iterate folders
SET mypath=%cd%
SET "remote_dir=\remote\*"
SET "local_dir=\local\*"
SET "other_dir=\other\*"

SET "FULL_REMOTE_DIR=%mypath%%remote_dir%"
SET "FULL_LOCAL_DIR=%mypath%%local_dir%"
SET "FULL_OTHER_DIR=%mypath%%other_dir%"

ECHO 联合文件列表:
REM 遍历两个目录的文件,%%~nxa仅输出文件名+扩展名,需要完整路径则用%%a
FOR %%a IN ("%FULL_REMOTE_DIR%" "%FULL_LOCAL_DIR%") DO (
    ECHO %%~nxa
)

方法2:将文件名收集到变量中统一输出

如果需要把所有文件名存储到变量里供后续使用,可以通过延迟扩展拼接变量实现:

@echo off
SETLOCAL enabledelayedexpansion
TITLE Demo Mode
ECHO small script to showcase
ECHO how to iterate folders
SET mypath=%cd%
SET "remote_dir=\remote\*"
SET "local_dir=\local\*"
SET "other_dir=\other\*"

SET "FULL_REMOTE_DIR=%mypath%%remote_dir%"
SET "FULL_LOCAL_DIR=%mypath%%local_dir%"
SET "FULL_OTHER_DIR=%mypath%%other_dir%"

SET "COMBINED_LIST="

REM 收集远程目录文件名
FOR %%a IN ("%FULL_REMOTE_DIR%") DO (
    SET "COMBINED_LIST=!COMBINED_LIST! %%~nxa"
)

REM 收集本地目录文件名
FOR %%a IN ("%FULL_LOCAL_DIR%") DO (
    SET "COMBINED_LIST=!COMBINED_LIST! %%~nxa"
)

ECHO 联合文件列表:
ECHO !COMBINED_LIST:~1!  REM 移除开头多余的空格

方法3:去重后的联合列表(处理重复文件名)

如果两个目录存在相同文件名,想要只保留一次,可通过记录已输出文件的方式实现去重:

@echo off
SETLOCAL enabledelayedexpansion
TITLE Demo Mode
ECHO small script to showcase
ECHO how to iterate folders
SET mypath=%cd%
SET "remote_dir=\remote\*"
SET "local_dir=\local\*"
SET "other_dir=\other\*"

SET "FULL_REMOTE_DIR=%mypath%%remote_dir%"
SET "FULL_LOCAL_DIR=%mypath%%local_dir%"
SET "FULL_OTHER_DIR=%mypath%%other_dir%"

ECHO 去重后的联合文件列表:
SET "SEEN_FILES="

REM 遍历远程目录并输出未重复的文件
FOR %%a IN ("%FULL_REMOTE_DIR%") DO (
    IF "!SEEN_FILES:%%~nxa=!"=="!SEEN_FILES!" (
        ECHO %%~nxa
        SET "SEEN_FILES=!SEEN_FILES! %%~nxa"
    )
)

REM 遍历本地目录并输出未重复的文件
FOR %%a IN ("%FULL_LOCAL_DIR%") DO (
    IF "!SEEN_FILES:%%~nxa=!"=="!SEEN_FILES!" (
        ECHO %%~nxa
        SET "SEEN_FILES=!SEEN_FILES! %%~nxa"
    )
)

内容的提问来源于stack exchange,提问作者3kstc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:41:42