我承认我刚开始使用批处理命令,所以我不确定这是否可行,如果不行,请告诉我。最近我做了一个简单的批处理命令,列出所有以 .exe 结尾的文件的目录,并将其放入一个文本文件中,我将其命名为 testpaths.txt
dir C:\*.exe /s /b >> testpaths.txt
此命令按预期工作,并列出整个目录,如下所示
C:\Windows\notepad.exe
我想做的是编写一个脚本来搜索这个文档,并分离出字符串中表示 *.exe 的部分(由于没有更好的术语),因此它看起来像
notepad.exe
我完全不知道在哪里或如何实现这一点,因为我是新手。任何帮助都将不胜感激,谢谢!
答案1
如何从文件列表中提取文件名?
使用以下批处理文件:
@echo off
setlocal enabledelayedexpansion
dir C:\*.exe /s /b >> testpaths.txt
rem read the file one line at a time
for /f "usebackq" %%i in (`type testpaths.txt`) do (
rem extract the filename
echo %%~nxi
)
endlocal
进一步阅读
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 目录- 显示文件和子文件夹的列表。
- 对于/f- 循环命令以执行另一个命令的结果。
- 参数- 命令行参数(或参数)是传递到批处理脚本的任何值。