8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DOSバッチでよく使うメモ

Last updated at Posted at 2014-11-22

#Intro
DOSバッチ書く際によく使うものたちの自分用メモです
DOSは覚えられません。
随時更新します

#メモ

####エコーオフ

@echo off

####変数遅延展開
FORやIFなど条件ブロックで変数使うときに利用します

set enabledelayedexpansion

rem 変数を条件,ブロックで使うときは%hoge%でなく!hoge!にする

####バッチパラメータ(引数のパスとか)のまとめ

rem 実行バッチそのもの
%0

rem 第一引数そのもの
%1

rem #####以下第一引数(%1)を例に記載#####

rem "とかを外して展開
%~1

rem ドライブ名
%~d1

rem ディレクトリ名のみ
%~p1

rem ファイル名(拡張子なし)
%~n1

rem ディレクトリまでのフルパス
%~dp1

rem 拡張子のみ
%~x1

####batを実行するディレクトリに移動

cd %~dp0

####日付取得系

set dt=%date%
rem 年
set year=%dt:~-10,4%
rem 月
set month=%dt:~-5,2%
rem 日
set day=%dt:~-2,2%
rem 一発
echo %date:~-10,4%%date:~-5,2%%date:~-2,2%

####時間取得系

rem 先頭を0埋めする(時間が一桁台の場合)
set timetmp=%time: =0%
rem 時間
set hour=%timetmp:~0,2%
rem 分
set minites=%timetmp:~3,2%
rem 秒
set sec=%timetmp:~6,2%

####配下のファイルリスト表示(ディレクトリ付き)

dir /s /b /a-d 

rem csvとsqlを探す
dir *.sql *.csv /s/ b/ /a-d

####標準出力とエラーをログに書き出す

hoge.bat > hoge.log 2>&1

####簡単な実行正否の判断

rem 処理が失敗(実行コード0以外のとき)に処理をする
del none.txt || echo failed

rem 処理が成功(実行コード0のとき)に処理をする
del exists.txt && echo success
8
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?