我最近进行了一项日常任务,其中一个现有的.bat文件每天运行时会创建所需的网络文件夹...作为任务的一部分,我正在考虑修改文本文件的内容,作为该任务的一部分。初始设置,即运行.bat文件。
以下是.bat文件的摘录,该文件已根据需要分配了日,月和年,例如11/03/2019,并创建任务需要的相关文件夹,并跨控制文件(Filename2)复制到新创建的文件夹。我要做的是除了创建文件夹之外,还要替换Filename2中的文本。
set vb=%temp%\newdate.vbs
echo Newdate = (Date()+0) > %vb%
echo Yyyy = DatePart("YYYY", Newdate) >> %vb%
echo Mm = DatePart("M" , Newdate) >> %vb%
echo Dd = DatePart("D" , Newdate) >> %vb%
echo Wd = DatePart("WW" , Newdate) >> %vb%
echo Wn = DatePart("Y" , Newdate) >> %vb%
echo Ww = datepart("W" , Newdate) >> %vb%
echo Wscript.Echo Yyyy^&" "^&Mm^&" "^&Dd^&" "^&Wd^&" "^&Ww^&" "^&Wn >> %vb%
FOR /F "tokens=1-6 delims= " %%A in ('cscript //nologo %vb%') do (
set Year=%%A
set Month=%%B
set Day=%%C
set Week#=%%D
set Weekday#=%%E
set Day#=%%F
)
del %vb%
for /f "Tokens=%Month%" %%A in (
"January February March April May June July August September October November December") do (
set Alfamonth=%%A
)
If %Month% lss 10 set Month=0%Month%
if %Day% lss 10 set Day=0%Day%
set Today=%Day%%Month%%Year%
set Tomorrow=%Today%+1
set Filename="path"
echo Source path\
echo filename = %Filename%
echo.
echo Today = %Today%
echo Year = %Year%
echo Alpha month = %Alfamonth%
echo Day=%Day%
echo Month=%Month%
md %FileName%\%Year%\%Alfamonth%" "%Year%\Client\%Day%-%Month%-%Year%
::Copy CONTROL FILE
set Filename2="path\Client\Client.ini"
copy %Filename2% %FileName%\%Year%\%Alfamonth%" "%Year%\Client\%Day%-%Month%-%Year%\"Raw Data"\"%Day%%Month%%Year%.ini"
我要修改的控制文件上有2行:
directory=/dataload/fulfill/data/Client_Feb2018/02022018/
filename=Client_01022018
对于目录,我需要每天更改MonYYYY
和DDMMYYYY
部分,例如/dataload/fulfill/data/Client_Mar2019/11032019/
。
文件名行需要相同的更改,例如Client_01022018
至Client_11032019
。
鉴于已经分配了%Day%
,%Month%
和%Year%
,我希望这将是一件容易的事情,我们将不胜感激!
p.s。我是批处理脚本的新手。