回答
可以使用for
命令的變化得到類似的東西:
FOR /F "usebackq tokens=*" %%a IN (`subcommand`) DO @command %%a
一個大區別(除了是直觀和更噁心)的是,它會通過subcommand
command
請注意,在腳本文件中,百分號必須加倍(如果您有某些原因希望在命令行執行此操作,請使用不加倍的百分號)。
整體而言,沒有。 Windows命令提示符實際上並沒有太多的功能,因爲它不提供很多自己的功能,獨立於您可以運行的命令。例如,在大多數Un * x shell中,文件通配符(匹配foo.*
到文件列表)由shell本身處理。在Windows中,每個應用程序都可以從命令行看到foo.*
,並且必須自行實現文件通配。
如果你正在向下移動的嘗試到Windows自動執行,或想有一個更全功能的殼的道路,就應該考慮使用PowerShell,這確實讓你做子命令:
命令(子命令)
雖然PowerShell還有很多其他缺少的功能,但某些cmd.exe不支持。例如,&&,||,<,明智的stderr支持等等......我試過切換,但最終放棄了它。 Windows中的「本地」shell無法滿足您的需求。安裝類似UNIX的shell(Cygwin或MSYS),或者更好的是運行一個GNU/Linux VM。^_^ – bambams 2011-10-21 17:55:00
關於PowerShell(對我來說)最棘手的事情之一是新的語法......它與DOS shell,bash/tcsh或perl完全不同。特別是,PowerShell具有「 - 和」和「 - 或」而不是「&&」或「||」,並且實際上處理重定向非常好。有關所有詳細信息,請參閱「help about_logical_operator」或「about_redirection」。 – JaredReisinger 2011-10-25 21:26:08
感謝您的評論。我得看看「 - 和」和「 - 或」。當我上次使用它時,我盡力搜索,所有消息來源似乎都表示它尚未得到支持(但名單上)。也許他們實施了那些「近期」?在任何情況下,它都會使用看起來像命令選項而不是特殊字符的方式延遲...至於重定向,恕我直言,我認爲使用對象代替文本是不必要的複雜。它可能會使某些過程接口更高效,但需要維護額外的接口。複雜性是不必要的。 – bambams 2011-10-26 17:58:04
- 1. 重新評估命令CanExecute
- 2. Windows命令行:非評估環境變量
- 3. 如何評估VS構建命令宏?
- 4. RMarkdown代碼評估,直到命令
- 5. 評估命令導致在$ SHLVL
- 6. 命令在jupyter筆記本中重現評估命令
- 7. 什麼是bash「測試」命令評估命令?
- 8. angularjs - 評估驗證指令
- 9. 命名的評估條件
- 10. Windows重命名子文件夾命令
- 11. WPF MVVM命令CanExecute,重新評估僅在焦點變化
- 12. 蟒蛇 - 如何正確評估系統命令的值
- 13. Sed打印與評估日期命令在回參考
- 14. Java Runtime.exec運行的命令中的環境變量評估()
- 15. 評估字符串作爲部分bash命令
- 16. 從REPL評估Scala中的字符串命令
- 17. GroupSequence並下令評估JSR 303
- 18. 令,DependencyProperties綁定進行評估?
- 19. 如何評估C中的令牌?
- 20. Angular 4指令不是重新評估
- 21. 模型OCL評估與對象評估
- 22. Tensorflow評估:評估所有圖像
- 23. Windows命令
- 24. Windows命令行
- 25. 如果/切換評估原子?
- 26. Oracle SQL子句評估順序
- 27. 選擇「where子句」評估順序
- 28. Oracle DB鏈接 - where子句評估
- 29. 期望腳本子句評估
- 30. SQL - 有條件地評估WHERE子句
usebackq並非真的必要(您可以使用單引號代替):'for/f「tokens = *」%f in('subcommand')do @(command「%f 「)(我喜歡在'batch'中使用帶有條件語句的圓括號,這樣您可以輕鬆地將多個語句添加到」body「) – bambams 2011-10-21 17:51:37