1
我想創建一個批處理文件,讀取spefic目錄中的前10個文件名,然後將路徑設置爲10個不同的變量。舉個簡單的例子,路徑爲c:\ test,裏面會出現很多文件名爲file1.tif,file2.tif等我想設置變量filepath1
等於第一個文件的路徑是c:\ test \ file1.tif,依此類推爲前10個文件。下面是代碼:讀取文件名和
@echo off
cd C:\TEST
setlocal ENABLEDELAYEDEXPANSION
FOR /f "delims=|" %%a IN ('dir /b') DO (
CALL SET /a x = !x! +1
if !x! == 1 (
CALL SET /a filepath!x!="C:\TEST\%%a"
)
)
echo %filepath1%
echo %filepath2%
pause
goto EOF
當我運行程序,它似乎執行FOR循環很好,但對於filepath1
它顯示只是0
,它不會顯示任何filepath2
。我相信問題是在if !X! == 1
和設置filepath!x!
。如果我改變任何與!x!
有關的事情,它會打破循環。我能做些什麼來正確設置變量並限制循環只對10個文件執行操作?