2014-02-17 29 views
0

我是批量腳本新手。我工作的下面,批量檢索文件夾內的文件基於從文件夾名稱採取的時間間隔

我有一個名爲多個文件夾遵循

02_25-06_00
02_25-06_10
02_25-06_20
02_25-06_30
02_25-06_40
02_25-06_50
02_25-07_00

其中02是月份,25是日期,06是小時,00是分鐘

在每個文件中,都有兩個名爲A和B的文件夾。每個文件夾都有5個文本文件。

我需要一個批處理腳本,得到一個時間間隔,如06:00至06:20作爲輸入,並顯示在每個兩個子文件夾中的所有文本文件,如下

02_25-06_00-A1 .TXT
02_25-06_00-A2.txt
02_25-06_00-A3.txt
02_25-06_00-A4.txt
02_25-06_00-A5.txt
02_25-06_00-B1.txt
02_25 -06_00-B2.txt
02_25-06_00-B3.txt
02_25-06_00-B4.txt
02_25-06_00-B5.txt
02_25-06_10-A1.txt
02_25-06_10-A2.txt
02_25-06_10-A3.txt
02_25-06_10 -A4.txt
02_25-06_10-A5.txt
02_25-06_10-B1.txt
02_25-06_10-B2.txt
02_25-06_10-B3.txt
02_25-06_10-B4.txt
02_25-06_10-B5.txt

請幫我在這批處理腳本...

+0

'.txt'文件是否有這些實際的文件名? – foxidrive

+0

@foxidrive否,文本文件的名稱不同,我需要用時間信息重命名該文件 – Mrk

+1

MC ND的解決方案適用於此處。 – foxidrive

回答

3
@echo off 
    setlocal enableextensions enabledelayedexpansion 

    set /p "start=Start (hh:mm): " 
    set /p "end=End (hh:mm): " 

    set "somewhere=%cd%" 

    for /f "tokens=1-2 delims=-" %%a in ('dir /b /on /ad "%somewhere%"') do (
     if "%%b" geq "%start::=_%" if "%%b" leq "%end::=_%" (
      for %%c in ("%somewhere%\%%a-%%b\a\*.*" "%somewhere%\%%a-%%b\b\*.*") do (
       for /f "tokens=*" %%d in ("%%~dpc.") do (
        echo(%%a-%%b-%%~nxd%%~nxc 
       ) 
      ) 
     ) 
    ) 

pause 

下面是一個批處理文件來創建測試用例文件夾和文件:

@echo off 
for %%a in (1 2 3 4 5) do for %%b in (A B) do for %%c in (
02_25-06_00 
02_25-06_10 
02_25-06_20 
02_25-06_30 
02_25-06_40 
02_25-06_50 
02_25-07_00 
) do md %%c\%%b 2>nul& type nul>%%c\%%b\%%a.txt 

編輯 - 包括代碼修改,以適應新的文件夾命名(在評論中說明)。變化包括:

  • 文件夾= 9K(在for %%c文件的更改設置)

  • 文件夾B = C2(在for %%c文件的更改設置)

  • 指定時間的文件夾= HH-mm_hh-毫米(變化for %%a delims,小時對比變量替換,for %%c文件中設置的)

其餘代碼保持不變

for /f "tokens=1-2 delims=_" %%a in ('dir /b /on /ad "%somewhere%"') do (
    if "%%b" geq "%start::=-%" if "%%b" leq "%end::=-%" (
     for %%c in ("%somewhere%\%%a_%%b\9k\*.*" "%somewhere%\%%a_%%b\c2\*.*") do (
      for /f "tokens=*" %%d in ("%%~dpc.") do (
       echo(%%a-%%b-%%~nxd%%~nxc 
      ) 
     ) 
    ) 
) 
+1

我添加了一個腳本來創建文件夾和文件的提及。你的腳本運行良好。 – foxidrive

+1

@foxidrive,謝謝。 –

+0

@foxidrive非常感謝您的及時幫助。我正在列出所有的txt文件。是否可以提取文件並將其放入單獨的文件夾中? – Mrk

相關問題