所以我正在尝试为cmd创建自己的dir命令。到目前为止它工作得很好,除了我想输出按文件扩展名排序的目录和文件,方式
dir /o:ge
将显示(首先是文件夹,然后是按文件扩展名排序的文件)。 到目前为止,我的代码看起来像这样
@echo off
rem Title
echo.
echo CURRENT DIRECTORY [%cd%]
echo.
rem Directories
for /d %%D in (*) do (
echo [DIR] %%~nD
)
rem Files
for %%F in (*) do (
echo %%~nxF
)
@echo on
这会产生:
我不知道如何处理输出按文件扩展名排序的文件。我在网上搜索过,找不到解决这个问题的方法。我确实认为批处理脚本非常有限,但我仍然想尝试实现它。我曾想过使用for循环并将所有文件扩展名存储到“数组”中(如果它存在于批处理中),然后通过
输出它们*.fileExtension
有什么建议吗?
干杯, 德里克
答案 0 :(得分:1)
正如我的评论......
@Echo Off
Echo CURRENT DIRECTORY [%__CD__:~,-1%]&Echo(
For /F "EOL= Tokens=* Delims= " %%A In ('Dir /B/AD/ON') Do Echo [DIR] %%A
For /F "EOL= Tokens=* Delims= " %%A In ('Dir /B/A-D/OE') Do Echo %%A
Echo(&Pause>Nul
...替代地
@Echo Off
Echo CURRENT DIRECTORY [%__CD__:~,-1%]&Echo(
For /F "EOL= Delims=" %%A In ('Dir /OGE/-C'
) Do For /F "Tokens=3*" %%B In ("%%A"
) Do If "%%B"=="<DIR>" (If Not "%%C"=="." If Not "%%C"==".." Echo [DIR] %%C
) Else Echo %%C
Echo(&Pause>Nul