我正在尝试使用以下
合并目录中的txt文件@echo off
cd /d C:\textfiles\
for %f in (*.txt) do type "%f" >> C:\Users\Desktop\output.txt
但我没有得到任何输出(因为最后一行我很确定),有人可以帮助我吗?
另外,如何使输出文件名自动附加日期的文本或日期,例如output_random.txt或output_19.06.14.txt?
编辑代码(感谢Stephan)但没有附加日期:
@echo off
cd /d "C:\TextFiles"
for /f %%i in ('wmic os get localdatetime ^|find "20"') do set dt=%%i
set dt=%dt:~0,8%
for %%f in (*.txt) do type "%%f" >> C:\TextFiles\output-%dt%.txt
答案 0 :(得分:4)
在批量文件内部,您必须使用%%f
而不是%f
,它仅适用于命令行:
for %%f in (*.txt) do type "%%f" >> C:\Users\Desktop\output.txt
用于"随机或日期"部分:
如您所说"随机或日期",我认为,日期不必具有特定格式。最佳方式(因为独立于区域设置)将是:
for /f %%i in ('wmic os get localdatetime ^|find "20"') do set dt=%%i
set dt=%dt:~0,8%
%dt%
的格式为YYYYMMDD。
您可以使用set dt=%dt:~0,14%
(YYYYMMDDhhmmss)轻松添加时间并输出到...output-%dt%.txt
将%dt%
格式化为DD-MM-YYYY:
set dt=%dt:~6,2%-%dt:~4,2%-%dt:~0,4%
延伸阅读 - How does the Windows Command Interpreter (CMD.EXE) parse scripts?