如何使用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