Prawdopodobnie będziesz musiał uruchomić to Powershell w standardowej konsoli, aby użyć <
odpowiednio. Technicznie możesz użyć get-content
i prześlij wyjście do mysql
, ale zawsze uważałem, że jest to powolne i jakoś nadal utrzymuje zawartość pliku w pamięci sesji Powershell.
W ten sposób wykonałbym to z monitu Powershell (zmieniona ścieżka do pliku, aby zawierała spacje w celu zademonstrowania wewnętrznych cudzysłowów, na wszelki wypadek):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
najwyraźniej wyczyściłoby to pamięć, ale i tak nie możesz tego zrobić, dopóki nie zostanie to zrobione. Jeśli chodzi o mysql
i mysqldump
, nie zawracam sobie głowy Powershellem. Domyślne kodowanie używane w >
jest Unicode, dzięki czemu pliki zrzutów są dwa razy większe z Powershella niż z cmd
chyba że pamiętasz o napisaniu | out-file dump.sql -enc ascii
zamiast > dump.sql
.