在特殊日子運行的批次文件

在特殊日子運行的批次文件

如何建立一個批次文件,一旦單擊,就會在周日時啟動 .exe 文件?

如果是在另一天,我不希望它運行 .exe 檔案。例如,如果是星期五,我只想讓它自行關閉而不執行任何操作。

另外,如果可以在後台運行它而不顯示任何類型的命令提示符,那就太好了?

答案1

您可以用於Task Scheduler此目的。開啟Task Scheduler > Create Task 您現在可以在開啟的對話方塊中定義屬性、執行任務的條件以及要執行的作業/應用程式。

任務調度程序

答案2

事實上,您想要使用dateWindows 無法在 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

您需要更改批次檔中的兩件事,以確保它滿足您的需求。

  1. 首先,您需要將PATH_TO_FILE第 7 行變更為要啟動的可執行檔的路徑。
  2. 其次,您可能需要更改Sun第 10 行。

相關內容