- 締切済み
バッチファイルの空白文字などの扱い
お世話になります。 Lhazのコマンドラインからの実行について、 コマンドプロンプトを立ち上げ、 cd C:\Program Files\Lhaz lhaz.exe /c /tzip /d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス" を実行すると問題なく動作します。 この2行でバッチファイルを作成し バッチファイルから動作させるとエラーとなります。 'd"圧縮したファイルの保存先パス"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 空白文字の扱いなどが問題なのかと思っていますが、 修正の方法が良くわかりません。 フルパスのフォルダー名にも空白が入っています。 すいませんが、お助け願えませんでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kteds
- ベストアンサー率42% (1882/4440)
No.3の補足です。 >lhaz.exe /c /tzip /d が表記されない lhaz.exeをフルパス指定して、バッチを下記のように一文で記述するとどうなりますか。 "C:\Program Files\Lhaz\lhaz.exe /c /tzip /d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス"
- kteds
- ベストアンサー率42% (1882/4440)
- bunjii
- ベストアンサー率43% (3589/8249)
>バッチファイルから動作させるとエラーとなります。 下記のコマンドがエラーになると思います。 cd C:\Program Files\Lhaz 下記のようにディレクトリ名やファイル名に空白が入るときはダブルクォーティションで囲まないと正しい処理が出来ません。 コマンドに追加するパラメータは空白で区切られます。 cd "C:\Program Files\Lhaz"
お礼
bunjii さま 早速のお返事ありがとうございます。 1行目も修正して、バッチファイルから起動して cdできるとこまでは確認できました。 #2さんの言われるように、/dのところで何かが起こっているようです
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
そのバッチファイルをメモ帳で開いて「右端で折り返す」のチェックが外れているか確認して下さい。 多分、メモ帳で開いたら cd C:\Program Files\Lhaz lhaz.exe /c /tzip / d"圧縮したファイルの保存先フルパス" "圧縮するファイルのフルパス" のように、3行になっちゃってる筈です。
お礼
chie65535さん、ありがとうございます。 一応右端の折り返しは大丈夫のようです。 実行させているコマンドプロンプトの表記に、2行目の前半部分の lhaz.exe /c /tzip /d が表記されないのですが、これはおかしいでしょうか? バッチファイルには間違いなく記述しています。 最初は1行目と2行目に1行の空白行があったのですが、 空白行を削除したら、エラーにdの文字がなくなりました。 ------------- コマンドプロンプトの表記 ------------- C:\Program Files\Lhaz>"保存先フルパス" "圧縮するフルパス" '"保存先フルパス"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
お礼
通りました! ありがとうございました!!! 他のバッチは改行してもできてるのですけど、.exeなどの場合は、何かあるのでしょうかね? ともかくありがとうございました!