←
▼
▲
SORT [/R] [/+n] [/M KB] [/L ロケール] [/REC レコードバイト]
[[ドライブ1:][パス1]ファイル名1] [/T [ドライブ2:][パス2]]
[/O [ドライブ3:][パス3]ファイル名3]
/+n 各行の比較を始める文字番号 n を指定します。
/+3 は、各行の 3 番目の文字から比較を始める
ことを意味します。n 文字より少ない行は、ほかの
行より前に照合されます。
既定では、比較はそれぞれの行の最初から始め
ます。
/L[OCALE] ロケール 指定されたロケールでシステム既定のロケールを
上書きします。""C"" ロケールは、最も速い照合
シーケンスに従います。現在指定できるロケール
は ""C"" のみです。並べ替えは、常に大文字と小
文字を区別します。
/M[EMORY] KB 並べ替えに使うメイン メモリのサイズを KB
で指定します。メモリ サイズは、常に最小
160 KB で制限されます。メモリ サイズが
指定された場合、メイン メモリをどれだけ利用
できるかにかかわらず、指定されたサイズのメモリ
を使用します。
通常は、メモリ サイズを指定していないとき、最高
のパフォーマンスを得られます。既定では、並べ替
えが既定の最大メモリ サイズに格納できる場合は、
(一時ファイルを使わないで) 1 回のパスで実行
します。そうでない場合は、(一部の並べ替えられ
たデータを一時ファイルに格納して) 2 回のパス
で実行し、並べ替えと結合パスのためのメモリのサイ
ズを等しくします。入力と出力の両方がファイルの
場合、既定の最大メモリ サイズは利用できるメイン
メモリの 90% になります。そうでない場合は、
メイン メモリの 45% になります。
/REC[ORD_MAXIMUM] 文字数 レコードの最大文字数を指定します
(既定値 4096、最大値 65535)。
/R[EVERSE] 並べ替えの順序を降順にします。つまり、Z から A、
9 から 0 の順に並べ替えます。
[ドライブ1:][パス1]ファイル名1
並べ替えられるファイルを指定します。指定されて
いない場合、標準入力を並べ替えます。
入力ファイルを指定す方が同じファイルへの標準
入力をリダイレクトするより速くなります。
/T[EMPORARY]
[ドライブ2:][パス2]
データをメイン メモリに格納できないときのた
めに、並べ替えのための一時記憶域を保持する
ディレクトリを指定します。既定ではシステムの
一時ディレクトリを使用します。
/O[UTPUT]
[ドライブ3:][パス3]ファイル名3
並べ替えられた入力ファイルが格納されるファイル
を指定します。指定されていない場合、データは
標準出力に書き込まれます。出力ファイルを指定す
る方が同じファイルへの標準出力をリダイレクト
するより早くなります。
ヘルプ表示
sort InputPath /o OutputPath
InputPath
OutputPath
関連
←
▼
▲
copy /B a.001+a.002 a.zip
1 つまたは複数のファイルを別の場所にコピーします。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B]送り側 [/A | /B]
[+ 送り側 [/A | /B] [+ ...]] [受け側 [/A | /B]]
送り側 コピーするファイル (複数可) を指定します。
/A ASCII テキスト ファイルとして扱います。
/B バイナリ ファイルとして扱います。
/D 受け側のファイルが暗号化が解除されて作成されるようにします。
受け側 新しいファイルのディレクトリまたはファイル名 (複数可) を指定し
ます。
/V 新しいファイルが正しく書き込まれたか検査します。
/N MS-DOS 形式以外の名前のファイルをコピーするときに、利用可能な
らば、短いファイル名を使用します。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示し
ます。
/Z ネットワーク ファイルを再起動可能モードでコピーします。
環境変数 COPYCMD でスイッチ /Y が設定されている場合があります。
このスイッチは、コマンド ラインから /-Y が指定されると無効になります。既定
では、COPY コマンドがバッチ スクリプトから実行されていない場合、上書き確認
メッセージが表示されます。
複数のファイルを付加するときは、受け側に 1 個のファイルを指定し、送り側に
複数のファイルを指定します (ワイルドカードを使うか、ファイル1+ファイル2+
ファイル3 と指定します)。
ヘルプ
copy a-01.txt+a-02.txt a.txt
バイナリファイルの結合
テキストファイルの結合
第2引数が存在するフォルダではないときは、第2引数をファイルとします。
第2引数が存在するフォルダではないときに、フォルダを move したら、
第1引数のフォルダ名を第2引数のフォルダ名に改名します
copy a.txt folder
if errorlevel 1 echo cannot copy a.txt
コピーできなかったとき、errorlevel が設定されます。
+ で結合します
move は、フォルダの移動にも使えます。
move C:\sub\folder1 C:\folder2
C:\sub\folder1\file.txt は、C:\folder2\file.txt になります。
成功 : errorlevel = 0
アクセスが拒否された、コピー元が無い、コピー先にフォルダが無い : errorlevel = 1
←
▼
▲
ファイルとディレクトリ ツリーをコピーします。
XCOPY 送り側 [受け側] [/A | /M] [/D[:日付]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...]
送り側 コピーするファイル (複数可) を指定します。
受け側 新しいファイルの位置や名前を指定します。
/A アーカイブ属性のファイルのみをコピーし、属性は変更しません。
/M アーカイブ属性のファイルのみをコピーし、アーカイブ属性を解除
します。
/D:月-日-年 指定された日付以降に変更されたファイルをコピーします。
日付が指定されなかったときは、送り側の日付が受け側の日付より
新しいファイルだけをコピーします。
/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...
文字列を含むファイルの一覧を指定します。各文字列はファイルの
中で別の行でなければなりません。
文字列がコピーされるファイルの絶対パスの一部と一致した場合、
そのファイルはコピーから除外されます。たとえば、\obj\ を指
定するとディレクトリ obj の下のファイルはすべて除外されます。
.obj という文字列を指定すると .obj という拡張子のファイルは
すべて除外されます。
/P 受け側のファイルを作成する前に確認のメッセージを表示します。
/S 空の場合を除いて、ディレクトリとサブディレクトリをコピーします。
/E ディレクトリまたはサブディレクトリが空であってもコピーします。
/S /E と同じ意味です。/T と同時に指定できます。
/V 書き込んだ各ファイルを検証します。
/W キー入力があるまでコピー開始を待ちます。
/C エラーが発生してもコピーを続けます。
/I 受け側がなく複数のファイルをコピーする場合、受け側をディレク
トリとしてコピーします。
/Q コピー中ファイル名を表示しません。
/F コピー中送り側と受け側の全ファイル名を表示します。
/L コピーされるファイル名を表示します。
/G 暗号化をサポートしない受け側に、暗号化されたファイルをコピーす
ることを許可します。
/H 隠しファイルやシステム ファイルもコピーします。
/R 読み取り専用ファイルを上書きします。
/T ファイルはコピーせずにディレクトリのみを作成します。ディレク
トリまたはサブディレクトリが空の場合は除きます。/E と使用すれ
ばディレクトリやサブディレクトリが空でも作成されます。
/U 受け側に既に存在するファイルだけをコピーします。
/K 属性をコピーします。通常の XCOPY は読み取り専用属性を変更し
ます。
/N 生成された短い名前を使用してコピーします。
/O ファイルの所有権と ACL 情報をコピーします。
/X ファイルの監査設定をコピーします (/O を含む)。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示
しません。
/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示
します。
/Z 再起動可能モードでネットワーク ファイルをコピーします。
環境変数 COPYCMD にスイッチ /Y を設定できます。
これは、コマンド ラインの /-Y で無効になります。
mkdir folder2
xcopy /E /Y /Q folder1 folder2
ヘルプ
フォルダの中身全体をコピーする(上書き確認なし)
コピー先が古いときだけコピーする(/D)
folder2 に folder1 フォルダは作成しません
ACL も含めて完全にコピーする
/E /Y /H /R /K /X
(cache)
参考
大量のファイル名を表示するときは、/Q を除いてください
/Y /H /R /K /X
フォルダ:
ファイル:
echo F | xcopy /D /Y folder1\a.txt folder2\a.txt
次のようにオプションを指定します。
echo F や /I が無いと、受け側のファイルかフォルダが存在しないときに、
次の質問がされます。
(F= ファイル、D= ディレクトリ)?
コピー先と同じタイムスタンプのときは、コピーしません。
コピー先の方が新しいときもコピーしません。
同じか新しいかは区別できません。
xcopy /D /Y /I folder1 folder2
ファイルをコピー
フォルダをコピー
プロセスが、存在しないパイプに書き込もうとしました。
echo F があると、次のメッセージが出ますが、無視できます。
関連
echo D | xcopy /D /Y folder1\a.txt folder2
ファイルをコピー
コピー先にあるファイルだけコピーする
←
▼
▲
mkdir (md)
ディレクトリを作成します。
MKDIR [ドライブ:]パス
MD [ドライブ:]パス
コマンド拡張機能を有効にすると、MKDIR は次のように変更されます:
MKDIR は、必要に応じてパスの中間ディレクトリを作成します。
たとえば、\a が存在しない場合、
mkdir \a\b\c\d
は、次と同じです:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
拡張機能が無効な場合は、上のように入力します。
ヘルプ:
ディレクトリを作成します。
←
▼
▲
→ rd - rmdir
for /D /R %%i in (obj) do @if exist "%%i" rmdir /S /Q "%%i"
参照
サブフォルダに含まれる obj フォルダを削除します。
フォルダを削除します
for /D /R %i in (obj) do @if exist "%i" rmdir /S /Q "%i"
コマンドライン版:
バッチファイル版:
エラーチェック
エラーレベルは設定されません。
共有違反などで、フォルダがまだ存在していれば失敗です。
if exist folder_path echo rmdir failed & pause & goto :eof
set rmdir_path=obj
if exist %rmdir_path% rmdir /S /Q %rmdir_path%
if exist %rmdir_path% echo cannot delete %rmdir_path% & set r=1& goto :eof
set rmdir_path=
←
▼
▲
Linux の touch コマンドの代わりになる下記のようなバッチファイルです。
touch コマンドに指定したファイルがないときは、サイズ 0 のファイルを作り、
あるときは、タイムスタンプを更新します。
touch.bat
@echo off
if "%~1" == "" goto :eof
if not exist "%~1" type nul > %~1 & goto :eof &REM Create new file
pushd "%~p1" & copy /b "%~n1%~x1" +,, > nul & popd &REM Update last write time
%~p1 はフォルダーのパス、%~n1%~x1 はファイル名です。
参考
←
▼
▲
reg query <KeyPath> /v <KeyName>
レジストリの値を1つ参照します。
C:\Users\user1\Desktop>reg query "HKLM\SYSTEM\CurrentControlSet\Control\
Terminal Server\WinStations\RDP-Tcp" /v PortNumber
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
PortNumber REG_DWORD 0xd3d
サンプル
←
▼
▲
SUBST P: A:\TEMP
これにより、PドライブをアクセスするとAドライブのTEMPがアクセスされます。
SUBST A:\TEST C:
これにより、AドライブのTESTをアクセスするとCドライブがアクセスされます。
SUBST /D P:
SUBST P: \\pc01\folder
これにより、Pドライブをアクセスすると \\pc01\folder がアクセスされます。
←
▼
▲
参考
tasklist /fo CSV /nh
サンプル
プロセスを一覧します。
CSV形式でプロセスを一覧します。
C:\>tasklist /?
TASKLIST [/S システム [/U ユーザー名 [/P [パスワード]]]]
[/M [モジュール] | /SVC | /V] [/FI フィルター] [/FO 形式] [/NH]
説明:
ローカルまたはリモートのシステムで実行されている
プロセスの一覧を表示します。
パラメーター一覧:
/S システム 接続するリモート システムを指定します。
/U [ドメイン\]ユーザー コマンドを実行するユーザー コンテキストを
指定します。
/P [パスワード] 提供されたユーザー コンテキストのパスワードを
指定します。省略された場合は、入力を要求します。
/M [モジュール] 指定された EXE/DLL 名を使用しているタスクを
すべて表示します。モジュール名が指定されない場合
は、読み込まれているモジュールすべてを表示します。
/SVC 各プロセスをホストしているサービスを表示します。
/V 詳細なタスク情報を表示します。
/FI フィルター フィルターによって指定された、与えられた条件に一致
するタスクを表示します。
/FO 形式 出力の形式を指定します。
有効な値: "TABLE", "LIST", "CSV"。
/NH 出力するときに、"カラム ヘッダー"を
表示しないように指定します。
"TABLE" と "CSV" のみ有効です。
/? このヘルプ メッセージを表示します。
フィルター:
フィルター名 有効な演算子 有効な値
----------- --------------- --------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne イメージ名
PID eq, ne, gt, lt, ge, le PID 値
SESSION eq, ne, gt, lt, ge, le セッション番号
SESSIONNAME eq, ne セッション名
CPUTIME eq, ne, gt, lt, ge, le 次の形式の CPU 時間
hh:mm:ss
hh - 時間,
mm - 分、ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le メモリ使用 (KB)
USERNAME eq, ne [ドメイン\]ユーザーの形式の
形式
SERVICES eq, ne サービス名
WINDOWTITLE eq, ne ウィンドウ タイトル
MODULES eq, ne DLL 名
注意: リモート コンピューターを照会するときは、"WINDOWTITLE" フィルターと"STATUS
" フィルターはサポートされません。
例:
TASKLIST
TASKLIST /M
TASKLIST /V /FO CSV
TASKLIST /SVC /FO LIST
TASKLIST /M wbem*
TASKLIST /S システム /FO LIST
TASKLIST /S システム /U ドメイン\ユーザー名 /FO CSV /NH
TASKLIST /S システム /U ユーザー名 /P パスワード /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
for Windows7
←
▲
C:\>taskkill /?
TASKKILL [/S システム [/U ユーザー名 [/P [パスワード]]]]
{ [/FI フィルター] [/PID プロセスID | /IM イメージ名] } [/T] [/F]
説明:
このツールは、プロセス ID (PID) またはイメージ名を指定して、タスクを終了する
ために使われます。
パラメーター一覧:
/S システム 接続するリモート システムを指定します。
/U [ドメイン\]ユーザー コマンドが実行されるユーザー コンテキストを
指定します。
/P [パスワード] 提供されるユーザー コンテキストのパスワードを
指定します。省略された場合は、入力を要求します。
/FI フィルター タスクを選択するために、フィルターを適用します。
"*" を使用できます。例: imagename eq acme*
/PID プロセスID 終了させるプロセスの PID を指定します。
PID を取得するには、TaskList を使用してください。
/IM イメージ名 終了させるプロセスのイメージ名を指定します。
すべてのタスクやイメージ名を指定するには、
ワイルドカード '*' を使います。
/T 指定したプロセスとそのプロセスが開始
したすべての子プロセスを削除します。
/F プロセスの強制終了を指定します。
/? このヘルプ メッセージを表示します。
フィルター:
フィルター名 有効な演算子 有効な値
----------- --------------- -------------------------
STATUS eq, ne RUNNING |
NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne イメージ名
PID eq, ne, gt, lt, ge, le PID 値
SESSION eq, ne, gt, lt, ge, le セッション番号です。
CPUTIME eq, ne, gt, lt, ge, le 次の形式の CPU 時間
hh:mm:ss
hh - 時間
mm - 分、ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le メモリ使用量 (KB)
USERNAME eq, ne [ドメイン\]ユーザーの形式の
ユーザー名です
MODULES eq, ne DLL 名
SERVICES eq, ne サービス名
WINDOWTITLE eq, ne ウィンドウのタイトル
注意
----
1) /IM スイッチのワイルドカード '*' は、フィルターを適用したときのみ許可
されます。
2) リモート プロセスの終了は、必ず強制的に行われます。(/F)
3) リモート コンピューターが指定されているときは、"WINDOWTITLE"フィルターと
"STATUS" フィルターは考慮されません。
例:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
参考
プロセスを強制終了します。
for Windows7
taskkill /pid 1516
サンプル
PID を指定して、プロセスを強制終了します。
PID (=1516) は、tasklist で調べることができます
taskkill /im notepad.exe
実行ファイル名を指定して、プロセスを強制終了します。
サンプル