2014-09-10 25 views
1

好的,我正在製作一個.bat文件,並且我已經完成了大部分工作。我現在需要做的就是在一個文件夾中搜索批量文件,搜索X之後的下一個最大的數字,然後搜索下一個最大的數字,我希望該數字可以作爲變量存儲,例如。 : 我有一個文件夾: 2.txt,4.txt,6.txt和8.txt。如果X = 2,那麼我希望它找到下一個最大的數字,即四個,然後是下一個最大的數字,即6。然後,我希望將'6'或'6.txt'另存爲一個變量,所以我可以稍後使用它。 因此,如果我的文件是10,20,30和40.txt,X = 10,結果將是'30'或'30.txt'作爲變量存儲。批處理腳本 - X之後的下一個最大數字?

我試着用Google搜索這個,我找到任何找到的問題,比如'查找最大編號文本文件'。我的問題是NEXT最大,然後是那個後面的問題。

非常感謝誰提前幫助我!

謝謝!

回答

0

沒有測試:

@echo off 

set "root_dir=." 
set "number=15" 

pushd "%root_dir%" 
for /f "delims=" %%f in ('dir /b^|findstr /i /r "[0-9]*[^a-zA-Z]\.txt$"') do (
    if %%~nf GTR %number% (
     set "next=%%~nxf" 
     goto :break_for 
    ) 
) 
:break_for 
echo %next% 
+0

沒有工作,它只是輸出數量最多的目錄,是「SETLOCAL EnableDelayedExpansion」以任何方式影響這個腳本?因爲我已將該代碼放入批處理腳本中。 – flamebull5 2014-09-11 18:01:18

+0

@ flamebull5 - 我編輯了我的文章。延遲擴展不會幫助。我忘記了爲循環休息。現在入住。 – npocmaka 2014-09-11 22:11:47