2016-03-29 91 views
0

聲明:我不是批處理文件大師,只是在Google和SO的幫助下挖掘我的方式。另外請注意,我試圖在SourceTree中將此批處理文件作爲自定義操作運行。簡單SET不能在批處理文件中工作

下面簡單SET命令似乎並不值分配給變量:

SET MYVAR = %1 
ECHO "%MYVAR%" 
ECHO "!MYVAR!" 
ECHO %1 

第一回波返回上述"";第二個"!MYVAR!",而最後一個返回命令行參數的實際值。我如何爲MVAR分配值?

回答

0

set=每邊的空間都很敏感。您正在設置一個名爲myvar[Space}的變量

+0

不能相信這是正確的。這是我知道的第一種語言,雖然我只知道其中的一小部分)。萬分感謝。 :) – dotNET

+0

@dotNET:大多數UNIX shell(包括Bash)都是一樣的。它與駐留在每個進程「VAR = VALUE」中的環境塊一致。這種格式來自C'setenv'和'getenv'等。 – cdarke

+0

這是一個腳本,而不是計算機語言,這是主要區別之一。沒有預編譯器可以去除不必要的空白。你有沒有看過挑剔的Python是關於空白的?這是因爲它也不是一種編譯語言。批處理文件實際上一次只運行一行;你可以添加一個'暫停',暫停時,在該行下面添加一個新命令(並保存腳本文件),當你從'暫停'恢復時,它會運行新添加的命令。任何'set/p'輸入提示允許你接管程序。 Bash不會,因爲它不是像.bat文件這樣的笑話。 – LinuxDisciple