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