внутри powershell запустите cmd и вернитесь в powershell для очистки - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь выполнить mysqldump в моей базе данных, используя пень данных в файле. Я не могу сделать это на cmd, потому что, когда я добавляю% data%, происходит что-то странное. в середине предложения добавляется символ «1», например: если я сделаю

mysqldump args > file.sql (works fine)

mysqldump args > file_%data%.sql (i get error)

с данными внутри cmd на самом деле пытается запустить это:

mysqldump args 1 > file_%data%.sql (adds a "1" somehow - and the error is table "1" unknown - DOH)

так что я попробовал этот дамп на powershell, и он работает, мне просто нужно:

mysqldump args |  Out-File file_$(get-date -f yyyy-MM-dd).sql -encoding UTF8

он работает, но кодировка неверна, он не кодируется в utf8, но данные в имени файла работают нормально

поэтому моя следующая попытка - запустить скрипт в powershell, который запускает cmd, чтобы сделать .sql хорошо экспортированным, и выйти из cmd, а затем обратно в powershell переименовать файл с окончательным именем (с указанием даты). Но я не могу понять, как я могу запустить powershell, затем запустить сценарий cmd и вернуться к powershell.

Любые советы, как я могу сделать это, пожалуйста?

Я искал ЛОТ, там миллион сообщений о том, как сделать дамп в cmd, все вместе с «для» и прочим бессмысленным ничем, что я ни понял, ни смог запустить.
В PowerShell есть что-то не так с дампом, потому что специальные символы в базе данных перепутаны, как с utf8, так и с кодировкой ascii.

Извините за мой плохой английский. TY для советов.

(с использованием win10 64 pt-pt)

1 Ответ

0 голосов
/ 03 января 2019
  • При синтаксическом анализе команды cmd.exe вставляет стандартный номер потока вывода 1 непосредственно перед символом перенаправления, если цифра еще не существует.
    Ссылка: инструкции-the-windows-command-interpreter-cmd-exe-parse-scripts
  • вы можете в cmd попробовать:

(mysqldump args)> file_%data%.sql

А для PowerShell:

mysqldump args | Out-File file_$(get-date -f yyyy-MM-dd).sql -Encoding OEM
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...