如何搜索目录(包括子文件夹)中的所有txt文件



我想要一个命令,它可以查看目录的所有子文件夹,并将txt文件的所有内容编译为一个文件。

我有一个为文件夹执行此操作的代码。

@echo on
erase Compiled.txt
type *.txt>> Compiled.txt

如何使它也能浏览所有子文件夹?

谢谢

dir /s /b /a:-d *.txt

可能对你有用:(

由于另一行答案没有截断它,因此从读取开始

> For /?

然后尝试

@echo on
erase Compiled.txt
For /R %%f in (*.txt) do echo type "%%f"

观察行为那么如果愉快地删除echo并添加重定向>gt;已编译.txt

只需注意,非常简单的方法意味着compiled.txt也可能被嵌入,因此使用>gt;Compiled.TEXT(并作为最后一步重命名(或输出到非包含文件夹,如>gt"。。\已编译.txt";

如果你可以使用PowerShell,这可能会做到。

$CompiledFile = '.Compiled.txt'
if (Test-Path -Path $CompiledFile) { Remove-Item -Path $CompiledFile }
Get-ChildItem -File -Recurse -Filter '*.txt' |
ForEach-Object {
Get-Content $_.FullName | Out-File -FilePath $CompiledFile -Encoding ascii -Append
}

如果你必须在1987年的老式cmd.exe中运行,它可以被扭曲成一个可用的形式。

powershell -NoLogo -NoProfile -Command ^
"$CompiledFile = '.Compiled.txt'" ^
"if (Test-Path -Path $CompiledFile) { Remove-Item -Path $CompiledFile }" ^
"Get-ChildItem -File -Recurse -Filter '*.txt' |" ^
"    ForEach-Object {" ^
"        Get-Content $_.FullName | Out-File -FilePath $CompiledFile -Encoding ascii -Append" ^
"    }"

最新更新