簡體   English   中英

批量顯示兩個文件夾中帶有* _ ???? *。*的文件

[英]Batch to show me files with *_????*.* in two folders

抱歉,但是我的英語很差! 我有兩個文件夾,其中包含幾個文件,如下所示:

D:\Folder1\
START_0101.dat..
START_0105.dat..
START_0109.dat..
..
..
..
START_0250.dat.

D:\Folder2\
rms_20141124_0100.mdb..
rms_20141124_0108.mdb..
rms_20141124_0109.mdb..
..
..
..
rms_20141124_0250.mdb.

我需要一個批處理腳本來顯示Folder2中存在文件* 109.mdb和* 250.mdb。 如果存在,則顯示一條消息。

Windows 2000


我的文件夾1中可以有多個文件,其格式為“ * _ ???????。dat”。 D:\\ Folder1 \\ START_0101.dat .. START_0105.dat .. START_0109.dat ..。。。。* * _ ????。dat

我可以在Folder2中擁有多個文件,其格式為“ * _ ???????。mdb”。 D:\\ Folder2 \\ rms_20141124_0100.mdb .. rms_20141124_0108.mdb .. rms_20141124_0109.mdb ....... * * _ ????。mdb

我需要這樣的東西:

如果存在“ d:\\ folder1 * _ ??????? ”,則設置“ found = 1”;如果存在“ d:\\ folder1 * _ ??????? ”,則設置“ found = 2”

如果“%1%” EQU“%2%”(回聲文件%found%存在),否則(回聲文件不存在)

非常感謝!

@echo off
    setlocal enableextensions disabledelayedexpansion

    set "folder1=d:\folder1"
    set "folder2=d:\folder2"

    for %%a in ("%folder1%\*.dat") do (
        for /f "tokens=2 delims=_" %%b in ("%%~na") do (
            if exist "%folder2%\*_%%b.mdb" (
                echo %%b exists
            ) else (
                echo %%b missing
            )
        )
    )

對於每一個.dat文件夾1的文件,檢索到文件的引用for可替換參數%%a ,從它,得到的文件名( %%~na ),使用下划線作為分隔符標記化,並檢索所述第二令牌。 顯示文件夾2中是否存在具有相同標記的.mdb文件。

編輯以適應folder2中的多個子文件夾

@echo off
    setlocal enableextensions disabledelayedexpansion

    set "folder1=d:\folder1"
    set "folder2=d:\folder2"

    for %%a in ("%folder1%\*.dat") do (
        for /f "tokens=2 delims=_" %%b in ("%%~na") do (

            set "match="
            for /r "%folder2%" %%c in ("*_%%b.mdb") do  if not defined match (
                set "match=1"
                echo %%~nxa located as %%c
            )

            if not defined match (
                echo %%b missing
            )
        )
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM