2012-09-25 92 views
0

我正在將一些bash別名移植到doskey批處理命令中,而且我特別遇到了難以置信的困難時間。任何人認爲他們可以幫忙?如何將此bash別名轉換爲(Windows)doskey別名?

bash的別名是:

alias gitrel='if [ -n "$(npm version patch)" ]; then git push && git push --tags; fi' 

問題(S)

  • 如何運行,並從npm版本補丁獲取返回的值?
  • 還是怎麼在doskey命令中執行控制流邏輯?
+0

別名不是腳本。實際上,別名在腳本內部被默認禁用。它們旨在用於交互式使用。 – jordanm

+0

夠公平的,我改了標題。在每個'cmd.exe'會話開始時運行的批處理文件中仍然有一堆別名。 – jdotjdot

+0

你在做什麼作爲別名,我會做一個bash函數。並且將bash函數轉換爲MS-DOS的最簡單方法可能是爲每個批處理文件創建單獨的批處理文件。爲什麼不製作一個小型的批處理文件庫,將它們放在合理的位置,然後將該位置添加到'%PATH%'中? – ghoti

回答

1

您可以使用FOR/F循環來做到這一點,但只有當npn只打印一行或不打印行時,如果它可以打印兩行,此代碼將多次推送。

doskey alias=for /F "delims=" %a in ('npm version patch') do @(git push && git push --tags)