Answer the question
In order to leave comments, you need to log in
How to check CMD/Batch file syntax under Windows?
Here such a file writes "an error in the syntax of the command." I don't see any obvious thing.
@ECHO off
SET /p base1=Введите базу экспорта данных ^>
SET /p table=Введите таблицы через пробел или (пусто), если вся база ^>
SET /p base2=Введите базу импорта данных ^>
REM ЭКСПОРТ -- Если введены таблицы
if NOT [%table%] == [] (
FOR %%i IN (%table%) DO (
SET filename=%base1%__%%~i.sql.gz
ECHO Экспортируем таблицу `%%~i` из базы `%base1%` в файл `%filename%`
mysqldump -h localhost -u USER -pPASS %base1% %%~i | gzip > %filename%
)
)
REM ИМПОРТ -- Если введены таблицы
if NOT [%table%] == [] (
FOR %%i IN (%table%) DO (
SET filename=%base1%__%%~i.sql.gz
ECHO Удаляем таблицу `%%~i` из базы `%base2%`
ECHO DROP TABLE IF EXISTS %%~i | mysql -h localhost -u USER -pPASS %base2%
ECHO Импортируем файл `%filename%` в базу `%base2%`
gzip -d < %filename% | mysql -h localhost -u USER -pPASS %base2%
)
)
REM ЭКСПОРТ -- Если не введены таблицы
if NOT [%table%] == [] (
SET filename=%base1%.sql.gz
ECHO Экспортируем базу `%base1%` в файл `%filename%`
mysqldump -h localhost -u USER -pPASS %base1% | gzip > %filename%
)
REM ИМПОРТ -- Если не введены таблицы
if NOT [%table%] == [] (
SET filename=%base1%.sql.gz
ECHO Удаляем базу `%base2%`
ECHO DROP DATABASE IF EXISTS %base2% | mysql -h localhost -u USER -pPASS
ECHO Импортируем файл `%filename%` в базу `%base2%`
gzip -d < %filename% | mysql -h localhost -u USER -pPASS %base2%
)
ECHO Успешно выполнено
pause
@echo off
SET /p base1 =Введите базу экспорта данных ^>
SET /p table =Введите таблицы через пробел или (пусто), если вся база ^>
REM ЭКСПОРТ -- Если введены таблицы
IF NOT [%table%]==[] (
FOR %%i IN (%table%) DO (
echo %%~i
)
)
ECHO Успешно выполнено
pause
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question