Pravděpodobně budete muset nechat provést Powershell ve standardní konzoli, abyste mohli použít <
správně. Technicky můžete použít get-content
a výstup přesměrujte do mysql
, ale vždy jsem zjistil, že je to pomalé a nějak to stále uchovává obsah souboru v paměti relace Powershell.
Takto bych to provedl z příkazového řádku Powershell (změněna cesta k souboru tak, aby zahrnovala mezery, aby bylo možné demonstrovat vnitřní uvozovky, pro každý případ):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
zřejmě by to vyčistilo paměť, ale nemůžete to udělat, dokud to stejně nebude hotové. Pokud jde o mysql
a mysqldump
, S Powershell si hlavu nelámu. Výchozí kódování použité v >
je Unicode, díky čemuž jsou soubory výpisu dvakrát tak velké z Powershell než z cmd
pokud si nezapomenete napsat | out-file dump.sql -enc ascii
místo > dump.sql
.