バッチファイルでよく使う記法

テンプレート

@echo off  

rem カレントディレクトリへ移動  
cd &~dp0  

rem 処理を書く  

rem pause  
exit  

ファイルをコピーする

rem 上書き確認をしない場合  
copy /y <コピー元のファイル名> <コピー先のファイル名>  

エクスプローラーを開く

explorer <フォルダへのパス>  

日付から値を取得

バッチ実行日が 2020/05/10 のとき "20200510" を取得する

echo %date%  
rem => 2020/05/10  

echo %date:~0,4%  
rem => 2020  

echo %date:~5,2%  
rem => 05  

echo %date:~8,2%  
rem => 2020  

echo %date:~0,4%%date:~5,2%%date:~8,2%  
rem => 20200510  

指定時刻前のとき実行

rem 9時以降か  
if 9 lss %TIME:~0,2% (goto AFTER_TIME)  

rem 9時前のとき実行  

exit  
:AFTER_TIME  
rem 9時以降のとき実行  

exit  

exeファイルの実行

rem exeを実行するとき終了まで待たない  
start <exeへのパス>  

rem 実行中のexeを強制終了  
rem 名前はタスクマネージャーで分かる  
taskkill /im <実行中のexe名>  

ファイルの存在を確認してからエクセルファイルを開く

set FILE_PASS=<エクセルファイルへのパス>  

rem ファイルの存在確認  
IF EXIST %FILE_PASS% (GOTO FILE_EXIST_TRUE)  
echo ファイルがありません  
pause  
exit  

rem ファイルがあるなら開く  
:FILE_EXIST_TRUE  
start %FILE_PASS%  

シャットダウンする

rem 60秒後にシャットダウン  
shutdown /t 60  

rem 予約したシャットダウンを取り消し  
shutdown /a  

実行をn秒待つ

rem 5分待つ  
timeout /t 300  

クリップボードへ文字列を送信する

set str=aaaa  
echo %str%|clip  

参考