置き換え
type con > a.txt
追加( Append )
type con >> a.txt
終了時は 改行入力後、CTRL+Z を入力してEnter ですtype nul > ファイル名で、ファイルを空で初期化できます。
置き換え
type con > a.txt
追加( Append )
type con >> a.txt
終了時は 改行入力後、CTRL+Z を入力してEnter ですtype nul > ファイル名で、ファイルを空で初期化できます。
✅ Microsoft ドキュメント コマンド リダイレクト演算子を使用する ⭐ 単純な リダイレクト は > です。 コマンドプロンプトに表示されるはずの文字列をファイルに書き込みます。 ⭐ >> を使うと追加書き込みです。このような記号は、リダイレクト演算子と呼ばれます。
STDIN | 0 | キーボード入力 |
STDOUT | 1 | 標準出力 |
STDERR | 2 | Error output to the Command Prompt window |
0、1、2 は ハンドル番号で、既存のハンドルへのリダイレクトを指定するには、アンパサンド(&)文字の後にリダイレクトしたいハンドル番号を使用します。 なので、2>&1 は 標準エラー出力を標準出力にリダイレクトする事を意味します。▼ 解りやすいテストはエラーだけに着目して、以下のように実行します。
C:\temp>dir x ドライブ C のボリューム ラベルは Windows10 です ボリューム シリアル番号は 40B9-7D17 です C:\temp のディレクトリ ファイルが見つかりません( x が存在しないので『ファイルが見つかりません』と言うエラーメッセージが出ます ) この『ファイルが見つかりません』は、dir x > message.txt としても message.txt には書き込まれまれずに、コマンドプロンプトに表示されます。しかし、以下のようにすれば全て書き込む事ができます。
dir x > message.txt 2>&1この方法は解りにくいですが、標準出力と標準エラー出力を同時にリダイレクトしたいときに意味があります。dir x 2> message.txtだと、ファイルが見つかりません だけが書き込まれてしまいます。キーボード入力をファイル化
リダイレクト演算子を使用して、キーボードから入力した文字列をテキストファイルに書き込む事ができます。type con > message.txttype コマンドは、ファイルの内容をコマンドプロンプトに表示するコマンドですが、con と言う特殊な予約文字列を使用すると、キーボードをファイルとみなした動作を行います。 ※ 終了時は 改行入力後、CTRL+Z を入力してEnter です空のファイルを作成する
nul と言う予約文字列を使用して以下のように実行しますtype nul > message.txt実行結果を表示しない
nul は存在しないファイルのようなものなので、標準結果への出力を無かった事にできますdir *.* > nul
以下は、ファイル名を指定して実行からの起動ですが、コマンドプロンプトを表示したままで保持し、必要がなくなればすぐ閉じる事ができます (もちろんコマンドプロンプトからの実行でもかまいませんが、その場合は pause は必要無いです) /c は、/c の後の文字列を新しい cmd.exe で実行した後、cmd.exe を終了するという意味なので、dir を実行した後、pause で一時停止して入力待ちとなり、何かキーを押せば cmd.exe が終了します。最後に pause を使う方法は、コンソールに出力された結果を画面で確認できるようにする為に用いられます。
cmd /c dir & pause
& による一行の複数実行は、複数のアプリケーション(バッチファイル内の行単位の処理)をプログラムから呼び出したい(call コマンドを使用)場合で、外部にバッチファイルを作りたくない場合に使用します。
次のサンプルは、ユーザフォルダの dir の結果をテキストファイルにリダイレクトして dir の結果をメモ帳で開きます。
notepad の起動に start を使用しているので、元の cmd.exe は終了して結果の dir.log を表示したメモ帳のみが Windows 上に残ります( start が無いと、cmd.exe が notepad.exe の終了を待ちます )
cmd /c cd %HOMEPATH% & dir > c:\temp\dir.log & start notepad c:\temp\dir.log
ダウンロードしたファイルをエクスプローラから実行する場合は、『許可する』にチェックして『適用』して下さい。
例えば、C:\Program Files\Common Files へ移動したい場合、他に一致するディレクトリがなければ、以下のタイプで移動可能です。cd \pr*\c*
環境変数にディレクトリがセットされている場合は、cd %temp%
のように使用してそのディレクトリへ移動出来ます。 通常、コマンドプロンプトを実行すると、最初のディレクトリはユーザディレクトリになります。その下には、デスクトップやピクチャなど特別なものがたくさんあるので、以下のように移動可能です。C:\Users\lightbox>cd *top C:\Users\lightbox\Desktop>cd ..\p* C:\Users\lightbox\Pictures>
ZIP ダウンロード エクスプローラを右クリックしてコマンドプロンプトを開きたい場合は、以下のレジストリをインポートします
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\usercmd] @="コマンドプロンプトをここで開く(&P)" [HKEY_CLASSES_ROOT\Directory\shell\usercmd\command] @="cmd.exe /s /k pushd \"%V\""
削除用
Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\shell\usercmd]
このページの PDF
FOR /D %%変数 IN (セット) DO コマンド [コマンド パラメーター] セットがワイルドカードを含む場合は、ファイル名ではなくディレクトリ名 の一致を指定します。 FOR /R [[ドライブ:]パス] %%変数 IN (セット) DO コマンド [コマンド パラメーター] [ドライブ:]パスから始めて、ツリーの各ディレクトリで FOR 文を実行し ます。/R の後にディレクトリが指定されていない場合は、現在の ディレクトリが使用されます。セットが単一のピリオド (.) である場合は、 ディレクトリ ツリーの列挙だけを行います。まず、一階層コピーからです。カレントディレクトリに複数のディレクトリがあって、全てに一つのファイルをコピーしたい場合です。(バッチファイルでは、%i を %%i と書き換えています ) /D : 一階層ディレクトリ ▼ コピーしたいファイルが 001.txt の例
FOR /D %%i IN (*.*) DO (copy 001.txt "%%i")
以下はそれを全て削除する例です
FOR /D %%i IN (*.*) DO (del "%%i\001.txt")
次は、全階層コピーです。全てに一つのファイルをコピーしたい場合です。 /R : 全階層ディレクトリ ※ セットが単一のピリオド (.) である場合はディレクトリ ツリーの列挙
FOR /R %%i IN (.) DO (copy 001.txt "%%i")
全階層の 001.txt を削除します
FOR /R %%i IN (.) DO (del "%%i\001.txt")
ダウンロードしたファイルをエクスプローラから実行する場合は、『許可する』にチェックして『適用』して下さい。 または、『詳細情報』をクリックしてから実行します( 『許可する』と同等 ) コマンドプロンプトから実行する場合は、上記をしなくても使えるようです。 関連する記事 バッチファイルを使用して、全ての階層の特定の種類(例えば *.png)のファイルを別のフォルダへコピーする
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。 Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。 また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。 ※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです 対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。 ※ エキスパートモードで表示しています アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります<% if:page_name eq 'archive' -%> アーカイブページでのみ表示される内容 <% /if %> <% if:page_name eq 'category' -%> カテゴリページでのみ表示される内容 <% /if %> <% if:page_name eq 'tag' -%> タグページでのみ表示される内容 <% /if %>この記述は、以下の場所で使用します
|