Batch file 如何创建批处理文件以搜索文件夹中具有特定扩展名的文件?
请帮忙!我创建了一个新的批处理文件 我正在尝试创建批处理文件以执行以下操作:Batch file 如何创建批处理文件以搜索文件夹中具有特定扩展名的文件?,batch-file,Batch File,请帮忙!我创建了一个新的批处理文件 我正在尝试创建批处理文件以执行以下操作: 在文件夹中搜索具有特定文件扩展名(即docx)的文件 将文件名和扩展名输出到文本文件(.txt) 在文本文件中,我想在文件名之前添加一个索引 例如,“文件夹1”有以下三个文件:test1.docx、test2.docx、test3.xlsx 批处理文件将搜索扩展名为.docx的这三个文件,然后输出到文本文件(即search_result.txt) 在search_result.txt中,其格式如下: 1测试1.docx
2.test2.docx 这是我目前正在做的事情,上面提到的第1项和第2项,但我需要帮助来实施第3项
提前感谢您的帮助。假设索引只是匹配数的递增计数,您可以使用一个变量,并在循环的每次迭代中递增它。您需要启用变量的延迟扩展才能使其工作,这可以防止在首次计算循环时扩展变量,并在每次迭代中使用相同的扩展变量。然后可以使用!柜台而不是%
@echo off
setlocal enabledelayedexpansion
set /a counter=1
for /r %%i in (*.docx) do (
echo !counter! %%~nxi >> search_result.txt
set /a counter=!counter!+1
)
endlocal
我认为这样应该可以,但我还没有运行它,所以您可能需要调整它:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set /a counter=1
for /r %%i in (*.docx) do (
echo !counter! %%~nxi >> search_result.txt
set /a counter=!counter!+1
)
endlocal
查看此答案,了解有关延迟扩展的更多信息:在文件名之前添加索引是什么意思?我想他指的是“索引号”/序列号:1、2、3@罗伯特·哈维西也是
@echo off
setlocal ENABLEDELAYEDEXPANSION
set /a counter=1
for /r %%i in (*.docx) do (
echo !counter! %%~nxi >> search_result.txt
set /a counter=!counter!+1
)
endlocal