リファレンス(Reference)





カテゴリ別





FileSystem


__LINK__(attrib) __LINK__(copy) __LINK__(mkdir) __LINK__(dir) __LINK__(del) __LINK__(rename) __LINK__(xcopy) __LINK__(mklink) LINK TO GL TEST __LINK__(nconvert)


network


__LINK__(net use)


utility


__LINK__(chkdsk) __LINK__(mem)


commmadprompt


__LINK__(title) __LINK__(color) __LINK__(cls)


bat.program


__LINK__(pause) __LINK__(setlocal) __LINK__(exit) __LINK__(goto)


process


__LINK__(tasklist) __LINK__(taskkill)


assoc


SYNTAX assoc EXTENSION DESC ファイルを拡張子ごとに実行プログラムと関連づける。 現在の対応一覧をみる
assoc
.htm ファイルのプログラムを見る。
assoc .htm
.htm ファイルのプログラムを見る。
assoc .htm=Chrome



ftype


DESC ファイル・タイプ名に対して、起動するコマンドを定義する。 REF http://www.atmarkit.co.jp/fwin2k/win2ktips/841ftypes/ftypes.html FTYPE [ ファイル タイプ[=[コマンド文字列]] ]
ftype http="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"



attrib


SYNTAX attrib DESC ファイル属性を変更する
// Read Only attrib +R foo.txt // 解除 attrib -R foo.txt



call


SYNTAX call batfile DESC batch を他の batch から呼び出す 呼び出された側のバッチの処理が終わると 元の呼び出した側のバッチファイルへ制御をもどすことができる。 POINT call を利用すると呼び出し元のプロセスに戻ってくる。 call を利用しないで bat をよぶと 呼び出された側のバッチファイルが終了時点でとまり元のバッチに戻らない。
:: foo.bat を実行して、さらに処理をつづける call foo.bat :: call を利用しないと, foo.bat の終了時点でとまる :: 元の batch に制御が戻れない foo.bat
同じPROCESSで実行される "start" は 別プロセスで実行される
// TaskManager > [プロセス] でみると確認できる :: 別 Process で起動 ( cmd.exe が起動して test.bat を処理する ) start test.bat :: 同一プロセスで実行 call test.bat



clip . clipboard . クリップボード


DESC stdout への出力を クリップボードにコピーする。
dir | clip



choice.dialog . ダイアログ


Yes / No をダイアログする


cd(chdir)


SYNTAX cd [op] dir DESC Directory の移動 OP D: path に Drive が含まれる場合は, drive も変更.
C:\test> chdir /D d:\test :: 相対で移動 c:\> cd WINDOWS :: 絶対パスで指定 ( 拡張機能 ON ならば Space は区切り文字でない ) c:\WINDOWS> cd c:\Documents and Settings :: OFF なら quot する ( ややこしい ) c:\WINDOWS> cd "c:\Documents and Settings"



cmd


DESC cmd( Interpreter )を ChildProcess として起動する ProcssExplorer で見ると 階層化するのが見える OP k : Boot 時にコマンドをフック c : コマンドのみ実行をして Interpreter を終了 POINT 起動設定をしておく
すべてのプログラム > アクセサリ > CommmandPrompt > Property 各タブで設定 (.) Color (.) Size (.) WorkingDirectory
:: CodePage 指定 %SystemRoot%\system32\cmd.exe /f:on /k "chcp 65001" :: "D:\test" を CurrentDirectory にする %SystemRoot%\system32\cmd.exe /f:on /k "D: && cd D:\test" :: echo してみる %SystemRoot%\system32\cmd.exe /f:on /k "echo aaa && echo bbb" :: telnet を起動する %SystemRoot%\system32\cmd.exe /f:on /k "telnet && open localhost"
:: HELP cmd /? :: Help マニュアルをつくる cmd /? > cmdhelp.txt :: Interactive にしないようにするためには :: 任意の App も起動できる( bg として ) :: /c /k は最後に指定する :: 残りの文字を CommandLine としてみるため :: BOOT 時に指定した command を実行する cmd /K echo "foobar" :: 指定した文字列を実行して終了する :: cmd /C mdkir foobar; cmd /C "`cygpath -w /test/doc/doc.ods`" :: cmd /c は bat を実行するのと同じ test.bat :: bat file を CommandLine 上で指定するのは :: 現在の Interpreter で順次コマンド実行するのと同じ type test.bat echo test C: cd c:\ :: 実行する test.bat :: RET: test C:\> :: test.bat mkdir foobar;



cls


SYNTAX cls DESC プロンプト画面を clear する


color


DESC Console の色を指定する 2 桁の 16 進数で指定する SYNTAX color BGFG
:: BG: 黒 FG 白 color 0F :: 元に戻す color



cscript


SYNTAX CScript scriptname.ext [op] [arg] DESC 指定した Script を Console mode で実行する OP B : Batch Mode で実行 X : MS Debugger がインストールされていればデバッガでスクリプトを実行 test.js
// CScript が実行すると STDOUT へ出力 WScript.echo( "test" );
// Silent Mode // RET: test CScript /NoLogo "d:\test\dust\test.js" // Batch mode では何も出力されない CScript /NoLogo /B "d:\test\dust\test.js"
Cygwin から実行
// RET: TEST CScript /NoLogo "d:\test.js" | tr [:lower:] [:upper:]
batch.js
// Batch Mode では, 何も出力されない WScript.echo( "start" ); // batch では ここでとまる foobar; sh = new ActiveXObject( "WScript.shell" ); WScript.echo( "end" );



chkdsk


SYNTAX chkdsk [op] DESC ディスクをチェックし状態を表示する 発見したエラーの修復も可能
:: 不良セクタを見つけ,読み取り可能な情報へ回復 chkdsk /R chkdsk /F



chcp


SYNTAX chcp codepage DESC Change CodePage CommandPrompt( terminal )の文字コードを変更する ApacheやSubversionなどUTF-8で出力するアプリをコマンドプロンプトから使うと メッセージが文字化けするときに変更する
437 IBM437 OEM United States 932 shift_jis ANSI/OEM Japanese; Japanese (Shift-JIS) 1200 utf-16 Unicode UTF-16, little endian byte order (BMP of ISO 10646); available only to managed applications 20127 us-ascii US-ASCII (7-bit) 20932 EUC-JP Japanese (JIS 0208-1990 and 0121-1990) 50220 iso-2022-jp ISO 2022 Japanese with no halfwidth Katakana; Japanese (JIS) 50222 iso-2022-jp ISO 2022 Japanese JIS X 0201-1989; Japanese (JIS-Allow 1 byte Kana - SO/SI) 51932 euc-jp EUC Japanese 65001 utf-8 Unicode (UTF-8)
:: UTF-8 chcp 65001 :: SJIS chcp 932 chcp 65001 type utf16.txt > utf8.txt



copy


SYNTAX cp src dst


date


SYNTAX date [op] DESC 日付を取得する
:: 2009/06/17 date /t



del


SYNTAX del [op] [File ...] del [op] [Directory ...] DESC 指定ファイルを消去 指定ディレクトリ内のファイルを消去 OP P : Prompt を消す前に表示 S : SubDirectory も含めてすべての指定ファイルを削除 A : Attribute 消すファイルの属性を指定する
:: CurrentDirectory のファイルをすべて消去 :: ( SubDirectory は検索されない ) del /P * :: ".txt" ファイルをすべて削除 :: ( SubDirectory も対象 ) del /S /P *.txt :: すべてのファイルを削除 del /S *.jpg *.png *.htm *.css :: 隠しファイルを消す del /A:H c:\pagefile.sys :: つけないと "ない" といわれる del c:\pagefile.sys WARNING Directory 自身は削除できない "rmdir" を使う rmdir Directory



dir


SYNTAX dir [op] DESC ディレクトリのファイルの一覧を表示
:: C:\ のファイルを表示 dir C:\ :: CurrentDirectory を表示 dir :: 所有者を表示 dir /Q :: File名のみの Short 形式で表示 dir /w :: Wildcard で指定する dir *.txt :: File名のみ表示 dir /B :: すべての種類( 隠しファイルも含めて ) dir /A :: ソートする。 dir /O* :: 変更日時でソート dir /OD



echo


SYNTAX echo [message] echo [ON|OFF] DESC Message を表示する
:: echo の ON|OFF をきりかえる :: ON にする echo ON :: OFF にする echo OFF :: 現在の設定をみる echo :: 変数が空のときの対策 [ . ] をつける echo. %tmp%



expand . unexpand . tabfy


タブをスペースに変換する。
expand test.txt



exit


SYNTAX exit [/B] [ExitCode] DESC Script, Interpreter を終える バッチ処理を途中で終えたいときに便利
:: bat を途中で終了する if %ERRORLEVEL% == 1 ( exit /B )
POINT /B をつけないとインタープリタ自体が閉じる コマンドプロンプトを閉じないようするには /B をつけてバッチスクリプトを中断する。
:: main.bat echo start main.bat :: ここで バッチ全体 が終わってしまう call sub.bat echo end main.bat
:: sub.bat exit



FC


SYNTAX FC fileA fileB DESC File Compare ファイルを比較する
:: 結果 もかえる fc foo.txt bar.txt



find.findstr.grep


指定した文字列のみを抽出する findstr は正規表現を使った検索ができる。
type test.txt | findstr "test"
tasklist | findstr iexplore



goto


SYNTAX goto label DESC label の行に処理を移動する。
goto error :: 移動する側の label には : から始める。名前は任意の文字列。 :error



help


SYNTAX help DESC コマンドリファレンス


mem


DESC メモリ使用状況をチェック SYNTAX mem
:: メモリ使用状況をはきます mem



mkdir


SYNTAX mkdir [Drive:]Path DESC ディレクトリを作成する
:: C:/foo をつくる mkdir c:\foo :: 再帰的 につくってくれる :: ( 拡張機能が ON のとき ) -> Default ON mkdir c:\oya\ko\mago :: 拡張機能 を ON にする cmd /e:on :: OFF にすると 作成できない cmd /e:off :: ディレクトリまたはファイルを作成できません mkdir c:\oya\ko



mklink


SYNTAX mklink link target DESC SymbolicLink を作成
:: d:/tmp への shortcut を test という名前で作成 mklink /d test d:\tmp



net use . NetworkDrive


SYNTAX NET USE [デバイス名 | *] [パスワード | *] [/home] DESC 別PC( ファイルサーバなど )の共有フォルダを 自分の PC のドライブに割りあてる
:: mount を自動化する :: hostname\dir を K: としてマウント net use K: \\hostname\dir password /user:username WARNING Driveletter の後は : をつけること :: BAD net use K \\hostname\dir password /user:username :: OK net use K: \\hostname\dir password /user:username :: mount を 消す net use z: /DELETE :: コンピュータ名 "mypc" の "share" を K: にマッピングする net use K: \\mypc\share :: 現在マッピング接続しているデバイスの一覧を表示 net use ステータス ローカル名 リモート名 ネットワーク名 ------------------------------------------------------------------------------- OK K: \\mypc\share Microsoft Windows Network



tracert . traceroot


指定したホストまでの経路を表示する。
tracert www.google.com
家の PC では PrivateAddress であるルーターに最初に通信する。
1 <1 ms <1 ms <1 ms 192.168.24.1 ISP に接続する 1 <1 ms <1 ms <1 ms xxx.xxx.xx.x



net localgroup


SYNTAX net localgroup DESC PC local の group を表示する
\\host のエイリアス ------------------------------------------------------------------------------- *Administrators *Backup Operators *Guests *HelpServicesGroup *Network Configuration Operators *Power Users *Remote Desktop Users *Replicator *Users
Administrators でできること
[.] Local User( Account )作成



net user . UserList AccountList


SYNTAX net user DESC user の一覧を表示 Administrator は System 標準の user Administrators は Group 名 POINT user ごとに 細かい Permission 制御をする Guest は アカウントをもたない来客用のアカウント。
Tool > FolderOption > 簡易ファイルの共有を OFF にする
\\host のユーザー アカウント ------------------------------------------------------------------------------- Administrator ASPNET Guest HelpAssistant test sshd SUPPORT_388945a0



net(start|stop)


DESC Service を制御する
// Tomcat を停止する net stop "Apache Tomcat" // Tomcat 起動する net start "Apache Tomcat"



netsh


:: fire wall の状態をみる netsh firewall show stat



nbtstat


SYNTAX nbtstat [-a RemotePC] [-A IpAddress] DESC プロトコルの統計情報と NBT (TCP/IP 上の NetBIOS) を使う現在の TCP/IP 接続を表示
nbtstat -a 192.168.0.2 ローカル エリア接続: Node IpAddress: [192.168.0.2] Scope Id: [] NetBIOS Remote Machine Name Table Name Type Status --------------------------------------------- hostname <00> UNIQUE Registered WORKGROUP <00> GROUP Registered hostname <20> UNIQUE Registered MAC Address = XX-XX-XX-XX-XX-XX :: 各名前の IP アドレスを提供する NetBIOS 名キャッシュの内容を一覧表示 nbtstat -c ローカル エリア接続: Node IpAddress: [192.168.0.2] Scope Id: [] No names in cache :: NetBIOS 名キャッシュからすべての名前を除去した後LMHOSTS ファイルを再読み取り :: Windows ネットワークの名前解決統計情報の一覧を表示 nbtstat -R Successful purge and preload of the NBT Remote Cache Name Table.



pause


SYNTAX pause DESC 停止して prompt 状態にする


reg


SYNTAX reg subcommand key [opt] reg query KEY [/v VAL | /ve] [/s] reg add KEY [/v VAL] [/t TYPE] [/d DATA] [/f] DESC レジストリの編集、値の参照をする。 POINT Key とは Directory のこと Entry とは 値のこと 5 つの ROOT Key からなる
// SubKey 追加 reg add hkcu\test // SubKey 削除 reg delete hkcu\test /f // Key 以下のすべてを Query // reg query hkcu\Software\CDDB // Entry のみを Query reg query hkcu\Software\CDDB /v xxx // Key を追加 // reg add hkcu\Software\test /f // 値を設定 // Windows の Baloon Point を OFF にする // reg add hkcu\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v EnableBalloonTips /t REG_DWORD /d 0 /f



ren(rename)


SYNTAX ren [DRIVE:][PATH]src dst DESC ファイル名を変更する WARNING 変更後のパスの指定はできない。名前だけを指定する
:: BAD ren c:/src.txt c:/dst.txt ren c:/src.txt dst.txt



robocopy


SYNTAX robocopy [OPT] src dst DESC リモートのファイル・サーバ同士でフォルダを同期させる。 rsync のウィンドウズ版 POINT 特定のディレクトリのバックアップに利用できる。
robocopy c:\src d:\dst
コピーするファイル名をパターンマッチさせる
robocopy c:\src d:\dst *.txt robocopy c:\src d:\dst *.txt *.jpg
完全にミラーリング(同期)すると src にないファイルは dst からも削除される
robocopy /mir c:\src d:\dst
ログを制御する
:: 進行状況をオフにする robocopy /NP c:\src d:\dst



sc


SYNTAX sc [HOST] COMMAND [NAME] [KEY= VAL] DESC サービスのコントロールをする。
// サービス一覧をみる sc query // 停止する sc stop Tomcat6 // 開始する sc start Tomcat6
WARNING KEY= VAL は sace をあけること sc config サービス名 DisplayName= "DISPNAME" // Tomcat を登録 ( 表示されるのは "Apache Tomcat 6.0" ) sc create Tomcat6.0 binPath= "D:/tom/bin/tomcat6.exe //RS//Tomcat6" DisplayName= "Apache Tomcat 6.0" // 削除 sc delete Tomcat6.0



schtasks


DESC Schedular の設定をする 実行できるのは 管理者のみ WARNING login usr account の影響をうける
// 毎朝 4:00 にバックアップ・コマンドを起動 schtasks /create /tn "Backup" /tr c:\windows\backup.cmd /sc daily /st 04:00:00 // listup schtasks /query // 削除する schtasks /delete /tn "Backup" // prompt なしで削除 schtasks /delete /f /tn "test" schtasks /delete /f /tn "mus" // password 指定ですること schtasks /create /tn "test" /S \\HOSTNAME /U USR /P PASSWORD /tr notepad /sc daily /st 04:00:00 :: 開始時間 ( Time == st ) :: :: 周期 ( Cycle == sc ) :: 毎日 22 時 schtasks /create /tn "test" /tr d:\test.bat /sc daily /st 22:47:00 :: 変更 test mv "C:/WINDOWS/Tasks/Backup A.job" "C:/WINDOWS/Tasks/Backup test.job"



subst


SYNTAX subst DRIVE_LETTER: PATH DESC 任意のディレクトリにドライブレターを割り当てる
:: d:\test を F Drive にマップ subst F: d:\test\ :: 仮想ドライブを 削除 subst F: /d



set


SYNTAX set [VAR=[VALUE]] DESC 環境変数 を設定 削除する
:: 現在の環境変数を LISTUP set :: 変数をセット set var=value :: 変数を展開 set %var% :: 再度設定する set var=value2
WARNING
:: "" はいらない BAD set var="Program Files" OK set var=Program Files



sleep


sleep コマンドはないため, timeout を利用する。 __LINK__(timeout)


touch


copy /b test.txt +,,



sort


sort test.txt :: 反転 sort /R test.txt
stdin から受け取る
dir /B | sort



where


PATH の通った場所から指定した実行ファイルのパスを探す。
where sort where ftp



systeminfo


SYNTAX systeminfo DESC system 情報を表示
ホスト名: xxx OS 名: Microsoft Windows XP Professional OS バージョン: 5.1.2600 Service Pack 2 ビルド 2600 OS 製造元: Microsoft Corporation OS 構成: スタンドアロン ワークステーション OS ビルドの種類: Uniprocessor Free 登録されている所有者: xxx 登録されている組織: プロダクト ID: 76494-OEM-0011903-00116 最初のインストール日付: 2007/06/10, 22:29:56 システム起動時刻: 0 日、0 時間、53 分、40 秒 システム製造元: Matsushita Electric Industrial Co.,Ltd. システム モデル: CF-T5KW4AXR システムの種類: X86-based PC プロセッサ: 1 プロセッサインストール済みです。 [01]: x86 Family 6 Model 14 Stepping 8 GenuineIntel ~787 Mhz BIOS バージョン: PTLTD - 6040000 Windows ディレクトリ: C:\WINDOWS システム ディレクトリ: C:\WINDOWS\system32 起動デバイス: \Device\HarddiskVolume1 システム ロケール: ja;日本語 入力ロケール: ja;日本語 タイム ゾーン: N/A 物理メモリの合計: 502 MB 利用できる物理メモリ: 69 MB 仮想メモリ: 最大サイズ: 2048 MB 仮想メモリ: 利用可能: 2004 MB 仮想メモリ: 使用中: 44 MB ページ ファイルの場所: C:\pagefile.sys ドメイン: HOME ログオン サーバー: \\xxx ホットフィックス: 222 ホットフィックスがインストールされています。 ネットワーク カード: 2 NIC(s) インストール済みです。 [01]: Realtek RTL8139/810x Family Fast Ethernet NIC 接続名: ローカル エリア接続 DHCPが有効 : はい DHCP サーバー: 192.168.0.1 IP アドレス [01]: 192.168.0.2 [02]: Intel(R) PRO/Wireless 3945ABG Network Connection 接続名: ワイヤレス ネットワーク接続



setlocal.endlocal


DESC setlocal 〜 endlocal 間で設定, 変更した環境変数をバッチファイル内のみ有効にする
:: env.bat --------------------------- set VAR_GLOBAL=test echo %VAR_GLOBAL% :: --------------------------- :: CommandPrompt から env.bat を実行 cmd> env.bat :: 環境変数リストをみると VAR_GLOBAL=test とある set
:: setlocal, endlocal までの環境変数をバッチファイル内のみ有効にする :: env.bat --------------------------- setlocal :: VAR_LOCAL はバッチファイル内のみ有効 set VAR_LOCAL=aaa echo %VAR_LOCAL% :: ここまで Local 変数にする endlocal :: ここからは Global set VAR_GLOBAL=test echo %VAR_GLOBAL% :: --------------------------- cmd> env.bat :: bat を終えると VAR_LOCAL は未定義にもどる echo %VAR_LOCAL% :: こっちは定義 :: RET: bbb echo %VAR_GLOBAL%
POINT 一時的に上書きする
:: 一時的に PATH を c:\ に限定する setlocal path=C:\ ping 65.155.232.10 endlocal
不用意に変数を上書きしないよう setlocal を bat の Template にしとくといい
setlocal :: 3 つとも bat 内ローカル set a=1 set b=2 set c=3 :: endlocal はファイルの最後に暗黙的に呼ばれるため, かかなくても OK :: EOF
WARNING これいれると, この後で定義した変数が展開されない可能性あり setlocal ENABLEDELAYEDEXPANSION


start


SYNTAX start [/B] [title] [/d path] [/i] [/min | /max] [/separate | /shared] file DESC ファイルパスを指定すると,拡張子に応じたアプリケーションを起動する ( アイコンをダブルクリックをすることと同じ ) 実行中のコマンドプロンプトとは別のウィンドウを開き 指定されたコマンド, プログラムを実行します 起動した新たなコマンドプロンプトは 起動元のコマンドプロンプトの環境変数, カレントディレクトリが引き継がれる ■ WARNING WARNING WARNING 以下の表記は問題があるかもしれない。
start /B "D:/work/pro/win32/fw/Debug/fw.exe"
start の対象はこんなもの
(.) Directory :: バッチファイル (.) xxx.bat :: 実行ファイル (.) exe :: 32bit GUI アプリケーション (.) xxx.exe :: 任意のファイル (.) file
(.) Windowsプログラムが指定すると(regedit、calc など) 同じプロセスで実行される 実行されたプログラムの動作に関係なく コマンドプロンプトに戻る 新たなコマンドプロンプトの ウィンドウは開かない (.) 内部コマンド, バッチファイル 新たなコマンドプロンプトのウィンドウ( Shell )が開き 指定されたコマンドやプログラムファイルが実行される 実行が終了しても開いたウィンドウは閉じない ( Wクリックでバッチを開いたときは, cmd.exe は終了する )
:: ----------------------------------- :: sub.bat ( よばれる側 ) :: ----------------------------------- echo "start" sleep 5 echo "finish" sleep 5 WARNING :: start でコールした bat は Window が閉じない :: ( 別の cmd.exe がコールされてるから ) :: 閉じたいなら 明示的に exit を呼ぶ exit :: ----------------------------------- :: call.bat ( 呼ぶ側 ) :: ----------------------------------- :: /wait をつけないと sub.bat よりも先に終了 start sub.bat :: sub.bat の終了まち start /wait sub.bat sleep 4
コマンドプロンプトで利用するコマンドツールが指定された場合(defragなど) Windowsプログラムでありながらコマンドプロンプトで利用するツールなどを指定した場合も 新たなコマンドプロンプトのウィンドウが開き そこで実行される 処理が終了するとウィンドウはすぐに閉じられる CommandPrompt == Window == Process のことかな? (.) アプリケーションのファイル名( 実行可能でないファイル )を指定 関連づいたアプリケーションが起動( ダブルクリックと同じ ) FTYPE, ASSOC
:: xxx.txt を Notepad でひらく start xxx.txt :: xxx.xls を Excel でひらく start xxx.xls :: xxx.wpl を WindowMediaPlayer でひらく start d:\mus.wpl WARNING (コマンド拡張機能が有効の場合)関連付けがなければエラー start foo.data
32bit GUI Program を起動する
:: IE の終了まちをしなくても すぐに制御がもどる :: ie.bat ----------------------- echo start start "title" "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://yahoo.com" start "title" "C:\Program Files\Internet Explorer\IEXPLORE.EXE" "http://google.com" echo end :: ------------------------------- :: バッチ処理してみる ( IE が起動してすぐに "end" が出力 ) > ie.bat
(.) ディレクトリ名を指定 エクスプローラが起動し 指定したディレクトリを開く
:: エクスプローラが起動して "c:" ディレクトリを開く start C:\
:: 別 Procss 実行するけど, 新しい Window は新たにださない start /b test.bat :: ( Prompt ) Window を最小化して実行 start /min test.bat :: 別 Process( cmd.exe )を起動して別 Window で表示する start test.bat :: 現在の Process で実行( bat 内のコマンドを連続入力するのと同じ ) test.bat :: C 言語からよぶと 非同期( 別 PS )で実行される system( "start /b foo.bat" ); // [/b] をつけなくても 非同期になる // 別 Window は表示しっぱなし system( "start foo.bat" ); :: 同期する system( "call foo.bat" ); system( "foo.bat" ); :: wait で同期する start /wait C:\mymus\test.wpl start /wait sub.bat :: レジストリエディタを起動 start regedit :: コマンドプロンプトのウィンドウのタイトルを指定 start "NewWindow" test.bat BAD ["] でくくる start NewWindow test.bat :: WEB Server などで実行するなら, 優先度をさげて CPU の割当を減らす start /BELOWNORMAL job.bat
"タイトル"  新たに開くコマンドプロンプトのウィンドウのタイトルバーに表示するタイトルを指定。 /b  ウィンドウを新たに開かずに指定したコマンドを実行 /d path 実行 Directory を指定する /i  現在の環境でなく、cmd.exe が起動する基本環境でコマンドを実行。 /min, /max  新しいコマンドプロンプトのウィンドウを最小化, 最大化にして開く /separate  別メモリ領域で16ビットプログラムを実行する。 /shared  共有メモリ空間で16ビットプログラムを実行する。 /wait  処理がおわるまで起動元を待機 処理優先度  コマンド実行時の処理優先度
/LOW ・・・ IDLE優先度クラスで実行 /NORMAL ・・・ NORMAL優先度クラスで実行 /HIGH ・・・ HIGH優先度クラスで実行 /REALTIME ・・・ REALTIME優先度クラスで実行 /ABOVENORMAL ・・・ ABOVENORMAL優先度クラスで実行 /BELOWNORMAL ・・・ BELOWNORMAL優先度クラスで実行
「/b」 コマンド実行の際に新しいウィンドウは開かなくなるが、 実行中のコマンドは基本的に c-c で処理を中断することはできなくなる 中断したい場合 c-BRK


takeown


SYNTAX takeown OPTION FILE ... DESC ファイルの所有権を変更する 指定したファイルの所有権をログインユーザに変更する
takeown /f c:\Windows\System32\dinput8.dll
所有権を変更したら rename などができる
ren c:\Windows\System32\dinput8.dll dinput8.dll__



taskkill


DESC Process を強制終了する
taskkill /F /PID xxx
# 指定した名前のアプリケーションを殺す。( bash から実行 ) id=`cmd /c "tasklist /FO csv" | grep -i "notepad" | cut -f 2 -d "," | sed 's/\"//g'` cmd /c "taskkill /F /PID $id"



tasklist


DESC プロセスをリストアップする。
:: プロセスの一覧をみる tasklist :: CSV 形式 tasklist /FO csv



time


DESC 時刻を取得する
:: 22:52 time /t



timeout


SYNTAX timeout /T [] DESC 指定した時間( 秒 )をまつ
:: 無限にまつ timeout /T -1 :: 2 秒まつ timeout /T 2



title


DESC title MyDevelopment


type


SYNTAX type file DESC file の中身を表示 bash でいえば cat
type test.txt type mingw.bat



ver


SYNTAX ver DESC OS の version をしらべる


XCOPY


SYNTAX xcopy [op] src dst DESC ファイル, フォルダをツリーのままコピー タスクから使えば バックアップ・システムになります robocopy を利用するとさらに便利 __LINK__(robocopy) OP /D : 新しいファイルだけをコピー /S /E : (空のものも含めて)サブフォルダもコピーする、 /H : Hide 隠しファイル /C : エラーを無視 /Y : 無条件 /R : 読み取り専用ファイル /T : Directory のみを Copy /? : Help
:: c:\include を f:\ 以下にコピー :: :: Directory 全体を Copy するには :: dst の末尾に [ \ ]をつけて Directory であることを明示する :: xcopy c:\include f:\include\ :: 除外リスト をつかう xcopy /EXCLUDE:c:\ext.txt /D /S /E /H /C /Y /R c:\include f:\include\ :: net という cmd がある if exist z:\. net use z: /delete if not exist z:\. net use z: \\backupserver\backupvol :: log を残す. set logfile=c:\log\copyall.log xcopy c:\usr z:\usr\ /D /S /E /H /C /Y /R >> %logfile%
除外リスト ファイルの内容
:: コメントは bat file と同じ :: SVN の管理ファイルは無視( Sub Directory も無視される ) .svn :: Object ファイルは無視 .obj :: backup file ~ :: 日本語 ( ASCII でない )文字もできます :: 書類_バックアップ.txt はコピーされない :: バックアップ