将文件日期写入文件时如何不插入额外的行

时间:2015-11-27 17:02:06

标签: batch-file

我搜索了这个论坛,有些人向我提供了以下代码,这使我可以将myfile.txt的日期保存到date.txt

forfiles /M myfile.txt /C "cmd /c echo @fdate" >date.txt

问题是,它将日期保存在date.txt的第二行(在第一行插入回车换行符)。我需要第一行的日期。

有谁能告诉我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

过滤包含数字的行:

forfiles /M myfile.txt /C "cmd /c echo @fdate" |findstr "[0-9]" >date.txt

答案 1 :(得分:0)

空行是由forfiles引起的,因此您可以在正文中放置重定向:

forfiles /M myfile.txt /C "cmd /c > \"date.txt\" echo @fdate"

我建议说明date.txt的完整路径,尤其是当您设置/P的切换forfiles时(不要忘记将路径中的所有\加倍为\构成forfiles)的转义字符。

如果您对日期/时间不包括秒数感到满意,可以选择使用for

for %I in ("myfile.txt") do (> "date.txt" echo %~tI)

在批处理文件中使用此命令行时,请记住加倍%符号。