我在文本文件中有一行我正在尝试使用批处理文件进行修改。在这种情况下,行是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:\\
答案 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%"
。