批處理(bat)獲取指定目錄下的所有檔案列表
阿新 • • 發佈:2020-01-09
判斷輸入路徑是不是資料夾,如果是,則獲取資料夾下的所有檔名(包括子資料夾下的)
如果要檔名帶上路徑,則需要在dir這一句的%%~nxi上作改動
@echo off :: 判斷輸入路徑是不是資料夾,如果是,則獲取資料夾下的所有檔名(包括子資料夾下的) :: 如果要檔名帶上路徑,則需要在dir這一句的%%~nxi上作改動 :: code by jm CMD@XP 2006-7-20 if exist list.txt del list.txt /q :input cls set input=: set /p input= 請輸入要進行判斷的路徑: set "input=%input:"=%" :: 上面這句為判斷%input%中是否存在引號,有則剔除。 if "%input%"==":" goto input if not exist "%input%" goto input for %%i in ("%input%") do if /i "%%~di"==%%i goto input pushd %cd% cd /d "%input%">nul 2>nul || exit set cur_dir=%cd% popd for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do echo %%~nxi>>list.txt if not exist list.txt goto no_file start list.txt exit :no_file cls echo %cur_dir% 資料夾下沒有單獨的檔案 pause
經過我們小編測試,正常執行。