Поиск и замена текста в текстовом файле с помощью пакетного скрипта - PullRequest
0 голосов
/ 11 марта 2019

Я недавно взял на себя ежедневную задачу, где существующий файл .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"

В контрольном файле есть две строки, которые я хочу изменить:

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% уже назначены, я надеюсь, что это будет легко добавить - любая помощь будет принята с благодарностью!

ps Я совершенно новичок впакетный сценарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...