将修改txt文件中的日期的批处理文件

时间:2014-10-22 01:51:31

标签: batch-file

我在文本文件中有一行我正在尝试使用批处理文件进行修改。在这种情况下,行是lastexportdate=2014-01-01。我正在尝试从

中获取批处理文件
lastexportdate=2014-01-01

lastexportdate= Current timestamp.

这可能与计算机的时间戳相等吗?不确定如何解决这个问题,所以如果有人能提供帮助那就太棒了。我正在使用Windows 7。

以下文件内容:

root.footer=</CREDITEXPORT>
root.header=<CREDITEXPORT>
emailaddronsuccess=test@test.com
emailaddronerror=test@test.com
rerunexportdate=2014-09-06
errorfilelocation=C:\\ 
lastexportdate=2014-01-01
xmloutputlocation=C:\\

1 个答案:

答案 0 :(得分:0)

@echo off
setlocal

rem getting current time stamp
set "beginJS=mshta "javascript:var t=new Date();var dd=t.getDate();var mm=t.getMonth()+1;var yyyy=t.getFullYear();if(dd^<10) dd='0'+dd;if(mm^<10) mm='0'+mm;close(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write("
set "endJS=));""


:: FOR /F does not need pipe
for /f %%N in (
  '%beginJS% yyyy+'-'+mm+'-'+dd %endJS%'
) do set cds=%%N
echo cds=%cds%


rem processing the file
rem set the location of the file
set "content_file=c:\some.file"
break>temp.file
for /f "usebackq tokens=1* delims==" %%a in ("%content_file%") do (

  if "%%a" NEQ "lastexportdate" echo %%a=%%b>>temp.file
  if "%%a" EQU "lastexportdate" echo %%a=%cds%>>temp.file
)

未测试。只需更改content_file的位置,并检查创建的temp.file是否正常。 要替换文件,请在末尾添加move temp.file "%content_file%"