Windowsバッチ

「Windowsバッチ」の編集履歴(バックアップ)一覧はこちら

Windowsバッチ」(2017/04/06 (木) 23:14:43) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**IPMSGでいたずら @echo off for /l %%A in (1,1,10) do ipmsg.exe /MSG /SEAL localhost Hello. pause 大量にでてきます。っていってもこの例は控えめなので10枚ですが。 **日付 参考:[[バッチ・ファイル中で日付をファイル名に使用する - @IT>http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html]] -日付取得 %date% → 2010/01/30 %time% → 11:29:00.00 %date% → 土 2010/01/30 %date:~0,4%%date:~5,2%%date:~8,2% → 20100130 ※ Win2000 NG %date:~-10,4%%date:~-5,2%%date:~-2,2% → 20100130 ※ Win2000 OK -文字列の切り出し C:\>set V=ABCDEFGHIJKL C:\>echo %V:~5,2% FG 書式 意味 例 %V% 変数Vの値全体 %V% ⇒「ABCDEFGHIJKL」 %V:~m% m文字目から、最後まで %V:~5% ⇒「FGHIJKL」 %V:~m,n% m文字目から、n文字分 %V:~5,2% ⇒「FG」 %V:~m,-n% m文字目から、最後のn文字分を除いたもの %V:~5,-2% ⇒「FGHIJ」 %V:~-m% 後ろからm文字目から、最後まで %V:~-5% ⇒「HIJKL」 %V:~-m,n% 後ろからm文字目から、n文字分 %V:~-5,2% ⇒「HI」 %V:~-m,-n% 後ろからm文字目から、最後のn文字分を除いたもの %V:~-5,-2% ⇒「HIJ」 %V:c1=c2% 文字c1を文字c2に置換する。それぞれ複数の文字を指定することも可能 %V:ABC=abc% ⇒「abcDEFGHIJKL」 -時刻 time 1:23 %time:~0,2%%time:~3,2%%time:~6,2% → 「 11204」 set time2=%time: =0% %time2:~0,2%%time2:~3,2%%time2:~6,2% → 「011204」 -一日前の日付を計算 set yy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% echo 今日は%yy%年、%mm%月、%dd%日です。 echo. rem 1日前の日付を計算する set /a dd=%dd%-1 set dd=00%dd% set dd=%dd:~-2% set /a ymod=%yy% %% 4 if %dd%==00 ( if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1) if %mm%==02 (set mm=01&& set dd=31) if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29)) if %mm%==04 (set mm=03&& set dd=31) if %mm%==05 (set mm=04&& set dd=30) if %mm%==06 (set mm=05&& set dd=31) if %mm%==07 (set mm=06&& set dd=30) if %mm%==08 (set mm=07&& set dd=31) if %mm%==09 (set mm=08&& set dd=31) if %mm%==10 (set mm=09&& set dd=30) if %mm%==11 (set mm=10&& set dd=31) if %mm%==12 (set mm=11&& set dd=30) ) うげぇ、バッチファイルで日付操作すんのめんどくさー。 VBSで書いた方がよさそうだな。 **ビープ音 +「echo a」などと書かれたバッチファイルを用意する。 +適当なバイナリエディタ(例えば[[QuickBe>http://quick-be.jp.brothersoft.com/]])で「a」の部分の文字コードを「07」に変更する。 +実行する。 サーバに何か異常があった場合に知らせるとかに使えないかなぁ。 -[[指定したフォルダに日付フォルダを作成する>WinBatchMemo04]]
**日付フォルダを作成する mkdir %DATE:/=% **IPMSGでいたずら @echo off for /l %%A in (1,1,10) do ipmsg.exe /MSG /SEAL localhost Hello. pause 大量にでてきます。っていってもこの例は控えめなので10枚ですが。 **日付 参考:[[バッチ・ファイル中で日付をファイル名に使用する - @IT>http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html]] -日付取得 %date% → 2010/01/30 %time% → 11:29:00.00 %date% → 土 2010/01/30 %date:~0,4%%date:~5,2%%date:~8,2% → 20100130 ※ Win2000 NG %date:~-10,4%%date:~-5,2%%date:~-2,2% → 20100130 ※ Win2000 OK -文字列の切り出し C:\>set V=ABCDEFGHIJKL C:\>echo %V:~5,2% FG 書式 意味 例 %V% 変数Vの値全体 %V% ⇒「ABCDEFGHIJKL」 %V:~m% m文字目から、最後まで %V:~5% ⇒「FGHIJKL」 %V:~m,n% m文字目から、n文字分 %V:~5,2% ⇒「FG」 %V:~m,-n% m文字目から、最後のn文字分を除いたもの %V:~5,-2% ⇒「FGHIJ」 %V:~-m% 後ろからm文字目から、最後まで %V:~-5% ⇒「HIJKL」 %V:~-m,n% 後ろからm文字目から、n文字分 %V:~-5,2% ⇒「HI」 %V:~-m,-n% 後ろからm文字目から、最後のn文字分を除いたもの %V:~-5,-2% ⇒「HIJ」 %V:c1=c2% 文字c1を文字c2に置換する。それぞれ複数の文字を指定することも可能 %V:ABC=abc% ⇒「abcDEFGHIJKL」 -時刻 time 1:23 %time:~0,2%%time:~3,2%%time:~6,2% → 「 11204」 set time2=%time: =0% %time2:~0,2%%time2:~3,2%%time2:~6,2% → 「011204」 -一日前の日付を計算 set yy=%date:~0,4% set mm=%date:~5,2% set dd=%date:~8,2% echo 今日は%yy%年、%mm%月、%dd%日です。 echo. rem 1日前の日付を計算する set /a dd=%dd%-1 set dd=00%dd% set dd=%dd:~-2% set /a ymod=%yy% %% 4 if %dd%==00 ( if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1) if %mm%==02 (set mm=01&& set dd=31) if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29)) if %mm%==04 (set mm=03&& set dd=31) if %mm%==05 (set mm=04&& set dd=30) if %mm%==06 (set mm=05&& set dd=31) if %mm%==07 (set mm=06&& set dd=30) if %mm%==08 (set mm=07&& set dd=31) if %mm%==09 (set mm=08&& set dd=31) if %mm%==10 (set mm=09&& set dd=30) if %mm%==11 (set mm=10&& set dd=31) if %mm%==12 (set mm=11&& set dd=30) ) うげぇ、バッチファイルで日付操作すんのめんどくさー。 VBSで書いた方がよさそうだな。 **ビープ音 +「echo a」などと書かれたバッチファイルを用意する。 +適当なバイナリエディタ(例えば[[QuickBe>http://quick-be.jp.brothersoft.com/]])で「a」の部分の文字コードを「07」に変更する。 +実行する。 サーバに何か異常があった場合に知らせるとかに使えないかなぁ。 -[[指定したフォルダに日付フォルダを作成する>WinBatchMemo04]]

表示オプション

横に並べて表示:
変化行の前後のみ表示: