使用命令提示符以特定方式列出文件和文件夹

时间:2013-01-20 10:12:12

标签: cmd

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

2 个答案:

答案 0 :(得分: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
在powershell中

答案 1 :(得分: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