簡單bat檔案製作類似執行檔大家可以試試看. ... <看更多>
批次檔%% 在 BAT 批次檔 的推薦與評價
在不方便使用Java 或C 語言來執行程式功能的場合,改用BAT 批次檔來完成工作,不失為有效的解決方案。 ... FOR %%變數IN (篩選) DO 指令[參數] ... <看更多>
批次檔%% 在 windows 批次檔擷取某一個字串(特定幾碼) 的推薦與評價
我想要利用批次檔擷取電腦裡的MAC 然後輸出成兩種格式1. ... for /f "delims=" %%a in ('findstr %1 %2') do @set foobar=%%a ... <看更多>
批次檔%% 在 Re: [批次] 取得目前所在資料夾位置? - 看板EzHotKey 的推薦與評價
start.bat
==========================================================================
@echo off
@IF EXIST "%ProgramFiles%\WowUSBVirusKiller" (
set PATH="%ProgramFiles%\WowUSBVirusKiller"
start WowUSBSecurity.exe -c KillVirus.exe && start WowUSBAutoUpdate.exe
) ELSE IF EXIST "%ProgramFiles(x86)%\WowUSBVirusKiller" (
set PATH="%ProgramFiles(x86)%\WowUSBVirusKiller"
start WowUSBSecurity.exe -c KillVirus.exe && start WowUSBAutoUpdate.exe
) ELSE (
set CD="%~dp0" *新增這行後解決。
start WowUSBSecurity.exe -c KillVirus.exe && start WowUSBAutoUpdate.exe
)
=========================================================================
好像有點誤解,補充說明一下 囧
%~dp0 批次檔所在路徑,例如
C:\Program Files\Mozilla Firefox\
或 UNC 路徑,例如
\\Server\Share\Program Files\Mozilla Firefox\
%~d0 批次檔所在磁碟代號,例如
C:
或 UNC 路徑的雙反斜線
\\
%~p0 批次檔所在路徑,不含磁碟代號,例如
\Program Files\Mozilla Firefox\
或開頭不帶雙反斜線的 UNC 路徑,例如
Server\Share\Program Files\Mozilla Firefox\
%cd% 目前工作路徑,非根路徑時後面不帶反斜線,例如
C:\Program Files\Mozilla Firefox
寫個批次檔測試一下比較容易瞭解 %~dp0 與 %cd% 的差別
@ECHO OFF
ECHO %%~dp0 = %~dp0
ECHO %%cd%% = %cd%
PAUSE
當批次檔與目前工作路徑都在 C:\Program Files\Mozilla Firefox\ 時,執行
批次檔結果如下
%~dp0 = C:\Program Files\Mozilla Firefox\
%cd% = C:\Program Files\Mozilla Firefox
請按任意鍵繼續 . . .
若批次檔所在路徑不變,目前工作路徑在 U:\USB\ 時,執行批次檔結果如下
%~dp0 = C:\Program Files\Mozilla Firefox\
%cd% = U:\USB
請按任意鍵繼續 . . .
若在批次檔中使用 SET 命令將 cd 指定為環境變數,則 %cd% 會被取代,不過
這不表示目前工作路徑被改變,所以 SET CD="%~dp0" 這樣寫應該會有問題說
假設批次檔與執行檔放在一起,以下有三種方法提供參考
1. 如同原文裡的範例,修改 PATH 環境變數
SET PATH=%~dp0
start Program.exe
2. 切換目前工作路徑
%~d0
cd %~dp0
start Program.exe
3. 以完整路徑方式執行
start "" "%~dp0Program.exe"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.159.124
※ 編輯: UndeadSion 來自: 60.248.159.124 (03/30 22:48)
... <看更多>