日曜日であれば、クリックすると .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 バッチは少し時代遅れでした。Windows 8 について話しているのであれば、Powershell を検討します (必要に応じてバッチ ファイルから呼び出すことができます)。
$a = Get-Date
if($a.DayOfWeek -eq "Sunday") {
cmd /c c:\path\to\exe\file.exe
}
ここでは、サードパーティのバイナリ ファイルは必要ありません。Powershell は強力です ;)
答え3
によるとここ組み込みのコマンドプロンプトでバッチファイルを実行し、ウィンドウを表示しないことは不可能です。
それで、最終的に私はこれページにアクセスし、その情報を使用して、必要な処理を実行するバッチ ファイルを作成します。バッチ スクリプトは、時刻をチェックします。日付が正しくない場合は、コマンド プロンプトが赤く点滅し、終了します。日付が正しい場合は、緑色に点滅し、終了時にプログラムを起動します。
上記の段落の内容はすべて 1 秒以内に発生するため (コンピューターの速度によって異なります)、あまり目立ちません。
@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
ニーズに合うようにするには、バッチ ファイル内の 2 つの点を変更する必要があります。
PATH_TO_FILE
まず、 7 行目を、起動する実行可能ファイルのパスに変更する必要があります。- 次に、10 行目を変更する必要があるかもしれません。
Sun
これは、実行可能ファイルを起動する曜日の最初の 3 文字に変更する必要があるかもしれません (日曜日に起動したくない場合)。