如何使用for
循環遍歷目錄中的每一個文件? spa
我怎麼知道某個條目是目錄仍是僅僅是文件? 命令行
此for循環將列出目錄中的全部文件。 code
pushd somedir for /f "delims=" %%f in ('dir /b /a-d-h-s') do echo %%f popd
「 delims =」可用於顯示長文件名並帶有空格。 ip
'/ b「僅顯示名稱,不顯示大小日期等。 get
關於dir的/ a參數要了解的一些事情。 cmd
若是在命令行上使用此命令,請刪除「%」。 io
但願這能夠幫助。 for循環
for %1 in (*.*) do echo %1
嘗試使用cmd中的「幫助」以獲取完整指南 file
這是XP命令的指南。 http://www.ss64.com/nt/ 循環
%1引用傳入的第一個參數,不能在迭代器中使用。
嘗試這個:
@echo off for %%i in (*.*) do echo %%i
這將列出當前目錄中的全部文件(而且僅列出文件):
for /r %i in (*) do echo %i
另外,若是您在批處理文件中運行該命令,則須要將%符號加倍。
for /r %%i in (*) do echo %%i
(感謝@agnul)
我將使用vbscript(Windows腳本宿主),由於在批處理中,我肯定您沒法肯定名稱是文件仍是目錄。
在vbs中,多是這樣的:
Dim fileSystemObject Set fileSystemObject = CreateObject("Scripting.FileSystemObject") Dim mainFolder Set mainFolder = fileSystemObject.GetFolder(myFolder) Dim files Set files = mainFolder.Files For Each file in files ... Next Dim subFolders Set subFolders = mainFolder.SubFolders For Each folder in subFolders ... Next