如何建立一個批次文件,一旦單擊,就會在周日時啟動 .exe 文件?
如果是在另一天,我不希望它運行 .exe 檔案。例如,如果是星期五,我只想讓它自行關閉而不執行任何操作。
另外,如果可以在後台運行它而不顯示任何類型的命令提示符,那就太好了?
答案1
您可以用於Task Scheduler
此目的。開啟Task Scheduler > Create Task
您現在可以在開啟的對話方塊中定義屬性、執行任務的條件以及要執行的作業/應用程式。
答案2
事實上,您想要使用date
Windows 無法在 DOS 批次中管理的命令(星期幾)的進階功能。
date.exe
為此,我將使用來自 Unix 世界並可在 Windows 上運行的第三方二進位檔案:UnxUtils(這是在 Windows 上執行的常見 GNU Unix 實用程式的集合)。
從以下位置下載這裡(UnxUtils.zip)。
然後解壓,刪除除date.exe
然後,編寫一個像這樣的批次檔(假設date.exe
位於c:\
):
@ECHO OFF
REM Sunday is 0
for /f "delims=" %%a in ('c:\date.exe +%%w') do set DayOfWeek=%%a
if %DayOfWeek% == 0 (
cmd /c c:\path\to\exe\file.exe
) else (
echo Do Nothing
)
您可以將其放在 Windows 啟動資料夾中,並且適用於所有 Windows 版本,無論您身在何處。
也(好多了),在那個年代,DOS Batch 有點過時了。當您談論 Windows 8 時,我會考慮 Powershell(如果需要,可以透過批次檔呼叫):
$a = Get-Date
if($a.DayOfWeek -eq "Sunday") {
cmd /c c:\path\to\exe\file.exe
}
在這裡,不需要第三方二進位檔案:Powershell 很強大;)
答案3
根據這裡,不可能使用內建命令提示字元執行批次文件,並且不顯示視窗。
所以,最終,我發現了這頁面,並使用該資訊製作一個批次文件,該文件將執行您想要的操作。批次腳本將執行的操作是檢查時間。如果日期不正確,命令提示字元將閃爍紅色,然後退出。如果日期正確,它將閃爍綠色,並啟動您的程序,同時退出。
上一段中的所有內容都在不到一秒的時間內發生(取決於您的電腦速度),因此不會很明顯。
@echo off
mode con: cols=16 lines=6
:: The file you want to launch.
set FILE=PATH_TO_FILE
:: The day you want to launch the file on.
set DAY=Sun
for /F "tokens=1 delims= " %%A in ('Date /t') do ( Set TODAY=%%A )
if %TODAY% == %DAY% goto START
:STOP
color 47
goto END
:START
color 27
start "" "%FILE%"
goto END
:END
exit
您需要更改批次檔中的兩件事,以確保它滿足您的需求。
- 首先,您需要將
PATH_TO_FILE
第 7 行變更為要啟動的可執行檔的路徑。 - 其次,您可能需要更改
Sun
第 10 行。