爲什麼input redirection未在PowerShell中實現?爲什麼在PowerShell中沒有實現「<」輸入重定向?
爲了做這樣的事情:
mysql -u root < create.sql
我不得不切換到 「CMD.EXE」。
在PowerShell中有這樣做的另一種方法嗎?
請注意,輸出重定向「>」在PowerShell中實現。在給出答案之前請考慮這一點。
爲什麼input redirection未在PowerShell中實現?爲什麼在PowerShell中沒有實現「<」輸入重定向?
爲了做這樣的事情:
mysql -u root < create.sql
我不得不切換到 「CMD.EXE」。
在PowerShell中有這樣做的另一種方法嗎?
請注意,輸出重定向「>」在PowerShell中實現。在給出答案之前請考慮這一點。
雖然我不完全確定這個問題屬於堆棧溢出,你看過PS Cmdlet的Get-Content?看看它在TechNet的示例中如何使用Using the Get-Content Cmdlet。
例子:
Get-Content c:\scripts\test.txt | Foreach-Object {Get-Wmiobject -computername $_ win32_bios}
更新:上面的鏈接的TechNet壞了,但乍得米勒腳本專家的帖子在評論中提及Working Around Legacy Redirection Issues with PowerShell給出3個選擇: - use CMD /c
,Echo
,並獲取內容。
我不認爲MySQL會接受通過管道傳遞給它的PowerShell對象 - 正如Stephan所說,你可以使用Get-Content並將其傳遞給下一個命令。
檢查出堆棧溢出問題Is PowerShell ready to replace my Cygwin shell on Windows?爲什麼他們沒有複製Unix shell的原因。
既然你給腳本管道'mysql'作爲你的例子,我想我應該[指向你這個](http://stackoverflow.com/questions/6365191/import-large-mysql-sql-file- on-windows-with-force/6365553#6365553)以防您嘗試使用Powershell進行管道備份。 –
這正是我所尋找的。當然,不是最好的解決方案,而是一個很好的黑客,而不必切換回dos提示符。 – drozzy
一年半後,我仍然沒有回答這個爲什麼沒有實現輸入重定向的具體問題。 –