努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:os:windows:batch:batch-006

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
documents:os:windows:batch:batch-006 [2026/05/30 18:35] – 削除 - 外部編集 (不明な日付) 127.0.0.1documents:os:windows:batch:batch-006 [2026/05/30 18:35] (現在) – ↷ documents:proglang:batch:batch-006 から documents:os:windows:batch:batch-006 へページを移動しました。 k896951
行 1: 行 1:
 +====== 005.CMD.EXE /C のメモ ======
 +
 +
 +2016/06/22\\
 +自分用メモ
 +
 +===== バッチファイル実行 =====
 +
 +<code>
 +H:\job>dir
 + ドライブ H のボリューム ラベルは LaCie です
 + ボリューム シリアル番号は 82D7-3881 です
 +
 + H:\job のディレクトリ
 +
 +2016/06/22  05:57    <DIR>          .
 +2016/06/22  05:57    <DIR>          ..
 +2016/06/22  05:58                34 love&peace.bat
 +2016/06/22  05:57                29 micro soft.bat
 +2016/06/22  05:56                24 yahoo.bat
 +               3 個のファイル                  87 バイト
 +               2 個のディレクトリ  2,441,088,843,776 バイトの空き領域
 +
 +H:\job>love&peace.bat
 +'love' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +'peace.bat' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>micro soft.bat
 +'micro' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>yahoo.bat
 +Yahoo!
 +
 +H:\job>
 +</code>
 +
 +空白や制御で使う記号が入ったファイル名のバッチファイルを実行するにはダブルコーテーション(")で括る。
 +<code>
 +H:\job>"love&peace.bat"
 +"love & peace !"
 +
 +H:\job>"micro soft.bat"
 +micro soft!
 +
 +H:\job>
 +</code>
 +
 +なぜlove&peace.batだけ出力がダブルコーテーションで囲ってあるかというと、こういう理由による。
 +<code>
 +H:\job>echo love&peace !
 +love
 +'peace' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>
 +</code>
 +‟&”で区切られてしまうから。
 +
 +===== CALLで呼び出す場合も同じ =====
 +
 +<code>
 +h:\job>CALL love&peace.bat
 +'love' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +'peace.bat' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +h:\job>CALL "love&peace.bat"
 +"love & peace !"
 +
 +h:\job>CALL micro soft.bat
 +'micro' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +h:\job>CALL "micro soft.bat"
 +micro soft!
 +
 +h:\job>
 +</code>
 +
 +===== CMD.EXE /C で呼び出す =====
 +
 +<code>
 +H:\job>CMD.EXE /C love&peace.bat
 +'love' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +'peace.bat' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>CMD.EXE /C micro soft.bat
 +'micro' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>CMD.EXE /C yahoo.bat
 +Yahoo!
 +
 +H:\job>
 +</code>
 +
 +これもダブルコーテーションで囲ってみる。
 +
 +<code>
 +H:\job>CMD.EXE /C "love&peace.bat"
 +'love' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +'peace.bat' は、内部コマンドまたは外部コマンド、
 +操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 +
 +H:\job>CMD.EXE /C "micro soft.bat"
 +micro soft!
 +
 +H:\job>
 +</code>
 +
 +困った。‟&”をエスケープできない…
 +
 +===== 解決方法 =====
 +
 +この情報があって本当によかった…\\
 + [[http://scripting.cocolog-nifty.com/blog/2006/10/cmd_c_5d14.html|Windows Script Programming:CMD /C;←ここにお呪いを付けよう。]]
 +
 +<code>
 +h:\job>CMD.EXE /C;"love&peace.bat"
 +"love & peace !"
 +
 +h:\job>CMD.EXE /C;"micro soft.bat"
 +micro soft!
 +
 +h:\job>CMD.EXE /C;"yahoo.bat"
 +Yahoo!
 +
 +h:\job>
 +</code>
 +
 +{{tag> 技術資料 Windows batch CMD.EXE}}
 +
  
documents/os/windows/batch/batch-006.txt · 最終更新: by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki