2013-04-30 66 views
0

我無法弄清楚這個變量的範圍..繼承了代碼。我一直在閱讀,但似乎不能釘住它。我想每次複製文件4次並連接一個名稱,每次擴展文件的名稱。它會複製:牛,牛牛,牛牛牛等在Windows批處理腳本中正確的變量範圍

set "hash = Cow" 
call:filecreate "Cow","%hash%" 

:filecreate 
set "name = %~1" 
for /l %%C in (1,1,4) do (
for /f %%a in ('xcopy "%filez%" "%desktop%" /H /Y /R /F') do (
ren "%desktop%\system.ini" "!name!" 
) 
set "name = !name! %~2" 
) 
goto:eof 

回答

3

空間是SET聲明顯著。

set var = something 

將設置一個可變"var "" something"

set var=something 

將設置一個可變"var""something"

(也提防 - 具有CALL ED :filecreate,批次WIL然後執行:filecreate的第二時間,因爲它不會將一個標籤識別爲'程序結束'。您需要一個明確的GOTO :EOF a如果您只希望程序執行一次,請輸入CALL