iT邦幫忙

0

dos if exist 問題

我想用批次檔自動將他自己複製至windows的startup資料夾內,但卻一直錯誤,說找不到檔案位置,請各位幫忙,以下是我寫的程式碼
檔案叫00.bat

@echo off
:A
if exist %appdata%\Microsoft\Windows\Start Menu\Programs\Startup\00.bat (goto 1) else (goto 2)

:1
start %appdata%\Microsoft\Windows\Start Menu\Programs\Startup\00.bat
goto A

:2
copy /y %cd%\00.bat %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
goto A
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
jonsonchen
iT邦新手 5 級 ‧ 2017-04-29 12:14:05
最佳解答

長檔名 雙引號

if not exist "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\00.bat" (
copy "%0" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup"
)
0
Pankt
iT邦研究生 1 級 ‧ 2017-04-30 18:33:43

路徑中的目錄名稱中,要是含有空白,中間有一個 Start Menu,那麼整個路徑的前後,必須用雙引號,如果路經中沒有含空白,沒有雙引號,會成功的。

我要發表回答

立即登入回答