Du kommer förmodligen att behöva låta Powershell köra detta i standardkonsolen för att kunna använda <
ordentligt. Tekniskt sett kan du använda get-content
och skicka utdata till mysql
, men jag har alltid tyckt att det är långsamt, och det behåller fortfarande filinnehållet i minnet av Powershell-sessionen.
Så här skulle jag köra det från Powershell-prompten (ändrade filsökvägen för att inkludera mellanslag för att visa inre citattecken, för säkerhets skull):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
skulle tydligen rensa upp det i minnet, men det kan du inte göra förrän efter det är klart ändå. När det gäller mysql
och mysqldump
, jag stör mig inte på Powershell. Standardkodningen som används i >
är Unicode, vilket gör dumpfiler dubbelt så stora av Powershell som av cmd
om du inte kommer ihåg att skriva | out-file dump.sql -enc ascii
istället för > dump.sql
.