Вероятно ще трябва да накарате Powershell да изпълни това в стандартната конзола, за да използвате <
правилно. Технически бихте могли да използвате get-content
и насочване на изхода към mysql
, но винаги съм намирал, че това е бавно и някак си все още запазва съдържанието на файла в паметта на сесията на Powershell.
Ето как бих го изпълнил от подканата на Powershell (променен пътеката на файла, за да включва интервали за демонстриране на вътрешни кавички, за всеки случай):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
очевидно ще изчисти паметта, но така или иначе не можете да направите това, докато не бъде направено. Когато става въпрос за mysql
и mysqldump
, не се занимавам с Powershell. Кодирането по подразбиране, използвано в >
е Unicode, което прави дъмп файлове два пъти по-големи от Powershell, отколкото от cmd
освен ако не се сетиш да напишеш | out-file dump.sql -enc ascii
вместо > dump.sql
.