Итак, я пытаюсь создать пакетный файл, который я могу выполнить, чтобы обновлять несколько баз данных с помощью sql-файлов. Я уже создал первую часть, которая выполняет sql-файлы во всех базах данных. Это не очень сложно, но это делает работу. Моя проблема в том, что все файлы всегда выполняются.Пакетный скрипт: обновить базу данных новыми sql-файлами
То, что я хотел бы иметь, - это проверка между датой/временем исполнения командного сценария и последней измененной датой/временем каждого сценария sql. Благодаря этому я могу выполнять только sql-скрипты, которые были изменены/созданы после выполнения пакетного скрипта. Я пробовал довольно много, но мне не удалось запустить эту функцию. Я не очень хорош с пакетными сценариями ^^
Спасибо!
Сценарий
@echo off
set "mySQLexe=C:\wamp\bin\mysql\mysql5.5.24\bin\mysql.exe"
for /f "tokens=*" %%A in (databases.txt) do (
for %%G in (*.sql) do (
%mySQLexe% -hlocalhost -uroot %%A < %%G
)
)
REM Save execution of batch file
@echo %date% > executiontime.txt
@echo %time% >> executiontime.txt
Показать существующий скрипт. Это не имеет никакого смысла для меня. –
'@echo от для/ф "токенов = *" %% а в (databases.txt) делают ( \t для %% G в (* .sql) делают ( \t \t \t \t C: \ WAMP \ Bin \ MySQL \ mysql5.5.24 \ Bin \ mysql.exe -hlocalhost -uroot %% а <%% G \t) ) REM Сохранить выполнение пакетного файла @echo% дата%> executiontime.txt @echo% time% >> executetime.txt ' В файле базы данных есть список всех баз данных Я хочу выполнить sql-файлы. Теперь, прежде чем я заработаю эти файлы sql, я хочу проверить, если измененная дата более поздняя, чем время выполнения пакетного скрипта, чтобы применить только файлы sql, которые еще не были выполнены. – user3314017
Извините, я не нашла возможности для разрывов строк для кода – user3314017