2014-02-06 54 views
0

好吧,這是我在Stackoverflow上的第一個問題,所以我會盡力使它成爲一個好問題。 我在網上搜索了所有信息,但找不到任何信息。我創建了一個小批處理文件,提示您輸入要移動的文件的名稱。之後,它會詢問你的用戶名。我遇到的問題是cmd告訴我我的語法不正確。BATCH-如何將變量放入移動命令?

任何人都可以看到我做錯了什麼嗎? 以下是我正在使用的代碼。我只是粘貼了有問題的部分。

謝謝你們!

echo Place the file you wish to move to the Windows Startup Folder on your desktop. 
echo When you have placed it there, type in the name of your file, NOT INCLUDING the extension. 
echo Example: The file's name is: myfile.bat You type in: myfile 
set/p "filename=>" 
echo %filename% 
echo Next, type in your username. 
echo Example: acly6 
set/p "USERNAME=>" 
echo %USERNAME% 
ping 192.2.0.0 -n 1 -w 500 > nul 
goto MOVE 
:MOVE 
echo Moving your file to your startup folder. 
move C:\Users\%USERNAME%\Desktop\%filename%.bat 
C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 
ping 192.2.0.0 -n 1 -w 1000 > nul 
echo Checking Volumes... 
ping 192.2.0.0 -n 1 -w 3000 > nul 
if EXIST C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\%filename%goto COMPLETED 
goto FAILED 
+0

'%username%'是一個系統變量。所以你不需要詢問用戶名字。另外'%appdata%'可以讓你的生活更輕鬆。 – Stephan

回答

0

我editted了一下你的腳本: 環繞文件路徑用雙引號 添加/ Y參數移動命令(如果存在的話)自動覆蓋在新位置的文件 看準一些問題: 轉到MOVE : MOVE沒有任何意義,因爲它將繼續沿着這條道路前進。 goto FAILED GOTO COMPLETED - 腳本中沒有這樣的標籤。 如果您有其他問題,請大聲呼喊。

@echo off 
echo Place the file you wish to move to the Windows Startup Folder on your desktop. 
echo When you have placed it there, type in the name of your file, NOT INCLUDING the extension. 
echo Example: The file's name is: myfile.bat You type in: myfile 
set/p "filename=>" 
echo %filename% echo Next, type in your username. 
echo Example: acly6 
set/p "USERNAME=>" 
echo %USERNAME% 
ping 192.2.0.0 -n 1 -w 500 > nul 
goto MOVE 

:MOVE 
echo Moving your file to your startup folder. 
move /Y "C:\Users\%USERNAME%\Desktop\%filename%.bat" "C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" 
ping 192.2.0.0 -n 1 -w 1000 > nul 
echo Checking Volumes... 
ping 192.2.0.0 -n 1 -w 3000 > nul 
if EXIST "C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\%filename%" goto COMPLETED 

goto FAILED 
:FAILED 
+0

使用'%username%'作爲變量名是個好主意嗎? – Stephan

+0

它將是CMD實例中的局部變量。雖然 - 也許最好避免。 –