Я написал sql-скрипт для создания чистой базы данных (one.sql), я сделал это в CMD, и он работает,
cd MYSQL\path1\bin
mysql -u userID -ppassword -h host -P port < path2\one.sql > path2\test.log
он дает мне файл test.log, и база данных на сервере sql была обновлена
И я попытался сделать то же самое с помощью командного файла,
@echo off
c:
cd "MYSQL\path1\bin"
mysql -u userID -ppassword -h host -P port < path2\one.sql > path2\test.log
pause
из командной строки CMD кажется, что он работает, но файл test.log не сгенерирован, и новая база данных на моем сервере sql не была создана.
Я запустил файл bat, дважды щелкнув его в папке.
Какие-либо предложения?
Спасибо
Насколько я понимаю, он запускает one.sql и выводит файл журнала на path2 и path2, а C: \ MYSQL \ path1 \ bin \ разные. path2 находится за пределами C: \ MYSQL \ path1 \ bin \, у меня есть полный путь вроде этого C: \ Users \ AAA \ BBB \ VVV \ CCC \ DDD \
Вы используете в своем скрипте относительный путь. Рабочий каталог для вашего скрипта - C:\MYSQL\path1\bin. Поэтому, если вам нужно, чтобы сценарий читал и записывал в другой каталог, вам необходимо указать полный путь к этому каталогу в своем сценарии.






Итак, вы понимаете, что он пытается прочитать файл SQL и записать в файл журнала по этому пути:
C:\MYSQL\path1\bin\path2