2011-04-13 82 views
0

如何在Windows cmd(批處理文件)中寫入|(Linux)命令?如何在Windows批處理中編寫管道命令Linux?

我不知道如何在Windows寫這個小的Linux腳本:

find -r * |grep *.fd | open 

在Windows中:

dir /S ??? open 
+0

「|命令」本身不是一個命令。你可能有興趣閱讀更多關於[管道](http://en.wikipedia.org/wiki/Pipeline_(Unix)) – 2011-04-13 23:57:26

+0

另外,順便說一句,'發現。 -name'* .fd'| open'對於linux版本來說是更清潔的。 – 2011-04-14 00:00:08

+0

我知道管道是什麼,對於一個很好的問題來說太晚了,但現在我發現了powershell的存在,謝謝喬伊 – nevios 2011-04-14 22:42:12

回答

2

我真的不知道open是做什麼的。如果它只是啓動與相應的文件關聯的應用程序,那麼下面應該這樣做:

for /r %f in (*.fd) do (start "" "%f") 

在PowerShell中,你可以做同樣的:

Get-ChildItem -Recurse -Filter *.fd | Invoke-Item 

或更短:

gci -rec -fi *.fd | ii 
0

Windows中的常規命令shell是缺乏力量和功能。但是,Windows Power Shell有能力運行許多類似於* nix shell的忍者命令。

你可以在MSDN有關電源外殼的詳細信息 - http://msdn.microsoft.com/en-us/library/aa973757%28v=vs.85%29.aspx

下面是我從PowerShell幫助自己一派的例子:

------------- -------------例4 --------------------------

C:\ PS> get-childitem c:\ windows \ system32 * -include * .txt -recurse |選擇串-pattern「微軟」 -casesensitive

這個命令檢查在C 子目錄中的所有文件:\ Windows \ System32下 與.txt文件擴展名,爲 串「微軟」。 CaseSensitive 參數指示 'Microsoft'中的'M'必須大寫,而 其餘字符必須爲 小寫字母,以便匹配發生。