2012-08-09 67 views
4

我的功能所需要的第一個文件名從一個特定的目錄中的第一個文件來處理一些測試,在完成測試從目錄
批處理腳本從目錄中獲取第一個文件名

我試過如下

先刪除文件
FOR /R \\<My Folder> %F in (*.zip*) do echo ~nF >%test_list% 
set /p firstline=%test_list% 
echo %firstline% 


FOR /F "tokens=*" %%A IN ('dir %test_firmware_dir% /b/s ^| find /c ".zip"') DO SET 
count=%%A 
    echo %count% 
:test_execution 
    if %count% NEQ 0 (
    echo ON 
    dir /b %test_firmware_dir%\*.zip >%test_firmware_list% 
set /p firstline=<%test_firmware_list% 
set /a filename=%firstline:~0,-4% 
    Echo %filename% 
    Echo ********************************************************* 
Echo "Now running batch queue tests with %filename%" 
    Echo ******************************************************** 

它顯示最後一個元素的任何過程來獲取第一個元素??

回答

13

另一種方法是使用goto(減免環路)你有你的第一個文件後:

FOR %%F IN (%test_firmware_dir%\*.zip) DO (
set filename=%%F 
goto tests 
) 
:tests 
echo "%filename%" 

而且它可以運行(一點)快在某些情況下,因爲它不必須經過整個目錄。

5

假設您的意思是按字母順序排序的第一個文件;那麼假設你遍歷列表覆蓋最後一個值,就像你說的捕獲最後一個文件一樣,而是控制排序順序;

for /f "delims=" %%F in ('dir %test_firmware_dir%\*.zip /b /o-n') do set file=%%F 
echo 1st alpha file is %file% 
相關問題