Je zult waarschijnlijk Powershell dit in de standaardconsole moeten laten uitvoeren om < . te gebruiken op de juiste manier. Technisch gezien zou je get-content . kunnen gebruiken en pijp de uitvoer naar mysql , maar ik heb dat altijd traag gevonden en het houdt op de een of andere manier nog steeds de bestandsinhoud in het geheugen van de Powershell-sessie.
Dit is hoe ik het zou uitvoeren vanaf de Powershell-prompt (bestandspad gewijzigd om spaties op te nemen om innerlijke aanhalingstekens te demonstreren, voor het geval dat):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect() zou blijkbaar het geheugen opruimen, maar je kunt dat pas doen nadat het toch is gedaan. Als het gaat om mysql en mysqldump , Ik doe geen moeite met Powershell. De standaardcodering die wordt gebruikt in > is Unicode, waardoor dumpbestanden twee keer zo groot worden uit Powershell als uit cmd tenzij je eraan denkt om | out-file dump.sql -enc ascii in plaats van > dump.sql .