Cmd 编写一个用于修改文本文件的脚本,找到一个变量并用当前时间重新移植它

Cmd 编写一个用于修改文本文件的脚本,找到一个变量并用当前时间重新移植它,cmd,command-prompt,Cmd,Command Prompt,让我先解释一下我的目标。 我想在目标文件夹中创建一个包含所有文件的WINRAR文件。 我只想从新创建的文件而不是旧文件生成WINRAR 我准备了以下脚本: “c:\Program Files\winrar\Rar.exe”a-r-m0-ta20140501 offsitebackup.Rar e:\backup* 它说WINRAR应该从2014/05/01之后修改的所有文件中生成WINRAR文件 我不想每周更改此脚本的时间范围。所以我需要另一个脚本来修改这个初始脚本 第二个脚本需要计算当前时间,

让我先解释一下我的目标。 我想在目标文件夹中创建一个包含所有文件的WINRAR文件。 我只想从新创建的文件而不是旧文件生成WINRAR

我准备了以下脚本: “c:\Program Files\winrar\Rar.exe”a-r-m0-ta20140501 offsitebackup.Rar e:\backup*

它说WINRAR应该从2014/05/01之后修改的所有文件中生成WINRAR文件

我不想每周更改此脚本的时间范围。所以我需要另一个脚本来修改这个初始脚本

第二个脚本需要计算当前时间,并从当前日期减去7天

然后它应该打开我的初始脚本,并用应该存在的新时间替换初始时间(当前时间减去7天)

我需要一个工具,能够找到“-ta”在我的脚本,并取代数字后,直到一个空间,与新的时间框架 这是我的初始脚本:

“c:\Program Files\winrar\Rar.exe”a-r-m0-ta20140501 offsitebackup.Rar e:\backup*

7天后,应按如下方式进行更改: “c:\Program Files\winrar\Rar.exe”a-r-m0-ta20140508 offsitebackup.Rar e:\backup*


我知道如何在linux中使用awk工具,您可以给它变量,也可以让它知道在哪里可以找到文本的特定部分,并用下面的脚本替换它,使用
%1
,然后您可以使用下面的脚本调用它

::myscript.bat
@echo off
"c:\Program Files\winrar\Rar.exe" a -r -m0 -ta%1 offsitebackup.rar e:\backup*
请注意,最后一行调用上面的脚本:

:: 7days.bat
@echo off
set day=-7
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "data=%yyyy%%mm%%dd%"
call "Myscript.bat" %data%

这个问题解决了吗?下面的答案正确吗?如果是,请将其标记为正确答案。