我在一个目录中有许多 TSV 文件,我想在每一行附加文件名作为额外的列。例如,我的数据如下所示。
前
文件名: snapper_User_list.txt
Username group
user1 admin
user2 users
文件名: marlin_User_list.txt
Username group
root admin
sql admin
我的理想状态是拥有一个如下所示的文本文件。
后
文件名: 输出.txt
user1 admin snapper
user 2 users snapper
root admin marlin
sql admin marlin
现在我需要在 MS Windows 中完成这个。
我有下面的脚本工作,虽然它仍然在我的输出中显示完整的文件名。
Rem Rename the files by just using the name before the underscore.
for /f "tokens=1* delims=_" %%i in ( 'dir *.txt /b' ) do (
rename %%i_%%j %%i.txt
)
Rem Combine the files.
FOR %%I IN (*.txt) DO (
FOR /f "tokens=*" %%a IN (%%I) DO (
echo %%a%TAB%%%I>>combined.txt
)
)
这是非常丑陋的代码。
谢谢。(更新 - 更新我的代码)