批量从一行文本中分离关键字

批量从一行文本中分离关键字

我承认我刚开始使用批处理命令,所以我不确定这是否可行,如果不行,请告诉我。最近我做了一个简单的批处理命令,列出所有以 .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

进一步阅读

相关内容