• 締切済み

バッチファイルの空白文字などの扱い

お世話になります。 Lhazのコマンドラインからの実行について、 コマンドプロンプトを立ち上げ、  cd C:\Program Files\Lhaz  lhaz.exe /c /tzip /d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス" を実行すると問題なく動作します。 この2行でバッチファイルを作成し バッチファイルから動作させるとエラーとなります。 'd"圧縮したファイルの保存先パス"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 空白文字の扱いなどが問題なのかと思っていますが、 修正の方法が良くわかりません。 フルパスのフォルダー名にも空白が入っています。 すいませんが、お助け願えませんでしょうか? よろしくお願いします。

みんなの回答

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.4

No.3の補足です。 >lhaz.exe /c /tzip /d が表記されない lhaz.exeをフルパス指定して、バッチを下記のように一文で記述するとどうなりますか。 "C:\Program Files\Lhaz\lhaz.exe /c /tzip /d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス"

ken123
質問者

お礼

通りました! ありがとうございました!!! 他のバッチは改行してもできてるのですけど、.exeなどの場合は、何かあるのでしょうかね? ともかくありがとうございました!

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.3

(1)異なるドライブで作業していることも考慮して、cdコマンドに /d オプションを付けてみる。添付画像参照。 (2)バッチファイルを「管理者として実行」してみる。 バッチファイルを右クリックして「管理者として実行」。 ---以上です。

ken123
質問者

お礼

kteds様、早速のご回答ありがとうございます。 1行目の/dオプションありがとうございます。 1行目は問題なく、コマンドプロンプトにも表記されます。 2行目の lhaz.exe /c /tzip /d が表記されないところで つまづいています。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>バッチファイルから動作させるとエラーとなります。 下記のコマンドがエラーになると思います。 cd C:\Program Files\Lhaz 下記のようにディレクトリ名やファイル名に空白が入るときはダブルクォーティションで囲まないと正しい処理が出来ません。 コマンドに追加するパラメータは空白で区切られます。 cd "C:\Program Files\Lhaz"

ken123
質問者

お礼

bunjii さま 早速のお返事ありがとうございます。 1行目も修正して、バッチファイルから起動して cdできるとこまでは確認できました。 #2さんの言われるように、/dのところで何かが起こっているようです

回答No.1

そのバッチファイルをメモ帳で開いて「右端で折り返す」のチェックが外れているか確認して下さい。 多分、メモ帳で開いたら cd C:\Program Files\Lhaz lhaz.exe /c /tzip / d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス" のように、3行になっちゃってる筈です。

ken123
質問者

お礼

chie65535さん、ありがとうございます。 一応右端の折り返しは大丈夫のようです。 実行させているコマンドプロンプトの表記に、2行目の前半部分の   lhaz.exe /c /tzip /d が表記されないのですが、これはおかしいでしょうか? バッチファイルには間違いなく記述しています。 最初は1行目と2行目に1行の空白行があったのですが、 空白行を削除したら、エラーにdの文字がなくなりました。 ------------- コマンドプロンプトの表記 ------------- C:\Program Files\Lhaz>"保存先フルパス" "圧縮するフルパス" '"保存先フルパス"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。