0

我需要使用命令提示符的目录中的文件和文件夹列表(注意:没有子文件夹文件),格式为 ie。文件名-大小-文件类型
我尝试使用dir /A/S >AllFiles.txt. 但是输出的格式需要编辑。

4

2 回答 2

0

仅使用“dir”命令是不可能的。不过,Powershell 的 get-childitem 可以解决问题。

get-childitem -recurse | Select-Object basename, length, extension

假设您从 cmd 运行,您可以将上面的 powershell 命令行包装为:

powershell -Command  "get-childitem -recurse | Select-Object basename, length, extension"

要查看 Select-Object 子句的所有可用选项,您可以运行

get-childitem | get-member

在电源外壳中

于 2013-01-20T10:32:50.397 回答
0

我不确定您所说的文件类型是什么意思。我假设你的意思是文件扩展名。

没有一种简单的方法可以获取文件夹的总大小,因此我将文件夹列为name - <dir>.

-文件和文件夹名称中有效。你可能会更好地替代:

简单的 FOR 命令列出文件或文件夹,但不能同时列出两者。所以下面我使用了两个 FOR 命令。这样做的好处是它支持名称中的 unicode。

@echo off
(
  for %%F in (*) do echo %%F - %%~zF - %%~xF
  for /d %%F in (*) do echo %%F - ^<dir^>
)>AllFiles.txt

您可以将 DIR /B 与 FOR /F 结合使用以一次性获取文件和文件夹,但它不支持名称中的 unicode。

@echo off
(
  for /f "eol=: delims=" %%F in ('dir /b') do (
    if exist "%%F\" (echo %%F - ^<dir^>) else (echo %%F - %%~zF - %%~xF)
  )
)>AllFiles.txt
于 2013-01-20T18:32:09.013 回答