cmd for 遍历目录_使用“ for”循环遍历目录中的所有文件

如何使用for循环遍历目录中的每个文件?

我怎么知道某个条目是目录还是仅仅是文件?

#1楼

此for循环将列出目录中的所有文件。

pushd somedir

for /f "delims=" %%f in ('dir /b /a-d-h-s') do echo %%f

popd

“ delims =”可用于显示长文件名并带有空格。

'/ b“仅显示名称,不显示大小日期等。

关于dir的/ a参数要了解的一些事情。

任何使用“ / a”都会列出所有内容,包括隐藏属性和系统属性。

“ / ad”将仅显示子目录,包括隐藏目录和系统目录。

“ / ad”参数消除具有'D'irectory属性的内容。

“ / adhs”将显示所有内容,但条目带有'D'irectory,'H'idden'S'ystem属性。

如果在命令行上使用此命令,请删除“%”。

希望这可以帮助。

#2楼

for %1 in (*.*) do echo %1

尝试使用cmd中的“帮助”以获取完整指南

#3楼

%1引用传入的第一个参数,不能在迭代器中使用。

尝试这个:

@echo off

for %%i in (*.*) do echo %%i

#4楼

这将列出当前目录中的所有文件(并且仅列出文件):

for /r %i in (*) do echo %i

另外,如果您在批处理文件中运行该命令,则需要将%符号加倍。

for /r %%i in (*) do echo %%i

(感谢@agnul)

#5楼

我将使用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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值