我想要一个命令,它可以查看目录的所有子文件夹,并将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" ^
" }"