2014-06-05 43 views
0

我已經taht代碼批處理文件,命令的副本找不到目錄

:instalation1 
cls 
echo. 
echo ============== 
echo = III  = 
echo ============== 
echo. 
if %place%==1 (
    md C:\Users\%username%\Desktop\SBI 
    set folder=C:\Users\%username%\Desktop\SBI 
    ) else (
      md \SBI 
     set folder=\SBI 
     ) 
cd %folder% 
timeout>nul 2 

:instalation 2 
cls 
echo. 
echo ============== 
echo = IIIIII  = 
echo ============== 
echo. 
copy \data\SBI.bat %folder%\ 
timeout>nul 2 

但是當我運行它,命令副本說:「系統找不到目錄」 (文件夾「數據」在與批處理文件相同的目錄中)

我在做什麼錯?

回答

0

確保您與運行的批處理文件在同一個驅動器上。

如果您在E:驅動器上並且運行C:\ data \ batchfile或C:\數據位於路徑上,那麼它將從C:運行批處理文件,但工作目錄位於E:爲了執行目的,E:\ data不存在。作爲測試,只需添加一個CD即可在複製之前爲您提供當前驅動器。

這只是一個測試,看看你是否在你期望的驅動器上。

:instalation 2 
cls 
echo. 
echo ============== 
echo = IIIIII  = 
echo ============== 
echo. 
cd 
copy \data\SBI.bat %folder%\ 
timeout>nul 2enter code here 
+0

我得到答案蘆薈昨天。當我輸入xcopy \ data \ ...計算機正在考慮這個C:\ data \ ...如果我想從文件夾數據中複製某些東西,並且數據與批處理文件命令應該在同一目錄中看起來像這樣xcopy data \ ... – MrJW

0
copy \data\SBI.bat %folder%\ 

您使用絕對路徑(:\ DATA \ sbi.bat)。

而是使用相對路徑:

copy data\SBI.bat %folder%\ 

而且與cd更改驅動器也使用

cd /d %folder% 
+0

我會考慮在'data'之前加上'%〜dp0',以確保它總是選擇正確的路徑,而不管CWD。 – icabod