Windows 批量删除txt文件中的特定单词
Windows Batch How to delete specific words from txt file
我不知道如何删除一行中的一段文字。
我有一个批处理文件,可以在所选文件夹中创建我感兴趣的文件列表。
dir D:\pool\template_test>U:\Desktop\list.txt
findstr "Work_T" U:\Desktop\list.txt > U:\Desktop\tamplates.txt
输出:
2013-03-13 17:24 622 Work_T_tamplate1.fdf
在最终文件中,如您所见,提供了日期、时间、大小,但我只需要名称。我该怎么做?
我尝试使用另一个 post 中的示例,但它不起作用:
for /f "tokens=3" %%A in (U:\Desktop\tamplates.txt) do findstr /C".dot" /C".pdf" /C".fdf" %%A
final file after using proposed code
所以您已经在 Stephan
的评论中得到了答案
这些都会包括给你搜索的,下面只有returns文件名:
cd /d "D:\pool\template"
(@for /f %%i in ('dir /b "Work_T*.dot" "Work_T*.pdf" "Work_T*.fdf" ') do (
@echo "%%i"
)
)>"U:\Desktop\tamplates.txt"
但是您也可能需要完整路径,因此这将包括文件的完整路径:
cd /d "D:\pool\template"
(@for /f %%i in ('dir /b "Work_T*.dot" "Work_T*.pdf" "Work_T*.fdf" ') do (
@echo "%%~fi"
)
)>"U:\Desktop\tamplates.txt"
如果需要,添加 /s
以递归访问子文件夹。
编辑
对于 UNC 路径:
(@for /f %i in ('dir /b /a-d "\tuesrna02\pool\template" ^| findstr /i "Work_T"') do (
@echo %%i
)
)>"U:\Desktop\tamplates.txt"
我不知道如何删除一行中的一段文字。
我有一个批处理文件,可以在所选文件夹中创建我感兴趣的文件列表。
dir D:\pool\template_test>U:\Desktop\list.txt
findstr "Work_T" U:\Desktop\list.txt > U:\Desktop\tamplates.txt
输出:
2013-03-13 17:24 622 Work_T_tamplate1.fdf
在最终文件中,如您所见,提供了日期、时间、大小,但我只需要名称。我该怎么做?
我尝试使用另一个 post 中的示例,但它不起作用:
for /f "tokens=3" %%A in (U:\Desktop\tamplates.txt) do findstr /C".dot" /C".pdf" /C".fdf" %%A
final file after using proposed code
所以您已经在 Stephan
的评论中得到了答案这些都会包括给你搜索的,下面只有returns文件名:
cd /d "D:\pool\template"
(@for /f %%i in ('dir /b "Work_T*.dot" "Work_T*.pdf" "Work_T*.fdf" ') do (
@echo "%%i"
)
)>"U:\Desktop\tamplates.txt"
但是您也可能需要完整路径,因此这将包括文件的完整路径:
cd /d "D:\pool\template"
(@for /f %%i in ('dir /b "Work_T*.dot" "Work_T*.pdf" "Work_T*.fdf" ') do (
@echo "%%~fi"
)
)>"U:\Desktop\tamplates.txt"
如果需要,添加 /s
以递归访问子文件夹。
编辑
对于 UNC 路径:
(@for /f %i in ('dir /b /a-d "\tuesrna02\pool\template" ^| findstr /i "Work_T"') do (
@echo %%i
)
)>"U:\Desktop\tamplates.txt"