Sie müssen dies wahrscheinlich von Powershell in der Standardkonsole ausführen lassen, um <
zu verwenden richtig. Technisch gesehen könnten Sie get-content
verwenden und leiten Sie die Ausgabe an mysql
weiter , aber ich fand das immer langsam, und es behält irgendwie immer noch den Dateiinhalt im Speicher der Powershell-Sitzung.
So würde ich es von der Powershell-Eingabeaufforderung ausführen (Dateipfad geändert, um Leerzeichen einzuschließen, um innere Anführungszeichen zu demonstrieren, nur für den Fall):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
würde anscheinend den Speicher löschen, aber Sie können das sowieso nicht tun, bis es fertig ist. Wenn es um mysql
geht und mysqldump
, ich kümmere mich nicht um Powershell. Die in >
verwendete Standardcodierung ist Unicode, wodurch Dump-Dateien aus Powershell doppelt so groß werden wie aus cmd
es sei denn, Sie denken daran, | out-file dump.sql -enc ascii
statt > dump.sql
.