• ベストアンサー

バッチファイルの記述方法

バッチファイルでファイルパスを ひとつにまとめて記述したいと考えてます。 そこで以下のように書いたのですが 思った動きになりません。 set DOCPATH="C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\sample\" test.bat %DOCPATH%test.csv 値をセットするときは「set ○○」で 使用するときは「%○○%」という認識でしたが どこが違うのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

set DOCPATH="C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\sample\ test.bat %DOCPATH%test.csv" 思った動きというのがどういう事でどういう動きになったのかがわかりません。 多分パスがわたらないという事だと思いますが、""の位置がおかしいですね。パスだけにつけるのではなくて、ファイルまで含めた位置に変更してみてください。 余談ですが、バッチで使う可能性があるデータでしたらスペースを含まないフォルダにインストールするほうがトラブルが少ないですよ。たとえば、私はApacheのインストールフォルダをデフォルトからスペースを含まないフォルダに変更しています。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • j_nishiz
  • ベストアンサー率26% (183/697)
回答No.2

#1さんに同意で、スペース名が入ったフォルダ名は推奨しません。 でも入れちゃった物はしょうがないので、コマンドプロンプトで「dir /x」で8文字形式のフォルダ名を取得してこれを繋げれば回避できます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • バッチファイルについて

    ファイルの中身を抽出するバッチを作成しました。 そのバッチファイルを実行し、test.csvというファイル名をつけて出力できたんですが、出力パスも指定することは可能なんでしょうか? find.bat > test.csv

  • Apacheで特定のファイルのみアクセス許可したい

    httpd.confの末尾に次の記述をしてapacheをリスタートしtop.htmlにアクセスしても 403エラーとなりアクセスできません。原因が分かる方よろしくお願いします。 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa"> Order deny,allow Deny from all SetEnvIf REFERER localhost referer_ok Allow from env=referer_ok </Directory> <Files "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa/top.html"> Order allow,deny Allow from all </Files>

    • ベストアンサー
    • HTML
  • バッチファイルについて

    あるディレクトリーに test.php と test.bat があり test.batには php test.php pause と記述しているので、phpの処理が終われば pause でバッチファイルが消える事なく残っているのですが、 phpの処理の途中で、処理を中断する事は可能でしょうか?? また、どの用に記述してやればよろしいのですか?? ctrl+c を押すと強制終了してしまいうまくいきません。 詳しい方がいましたら教えてください。 お願いします。

  • PHPの実行の際、パスが化ける

    WindowXPでApache+PHPでサーバのテストをしています。 実行はHTMLで記述して、クイックすると ↓の文字が実行されるようにしています。 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\1-9\追加コピー\192.php 実行すると下記のエラーが出ます。 Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0 Fatal error: Unknown: Failed opening required 'C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/test/1-9/霑ス蜉繧ウ繝斐・/172.php' (include_path='.;C:\Program Files\PHP5\pear;c:\Program Files\php5\includes') in Unknown on line 0 ---------------------------- つまり、ホルダー名:追加コピー、の部分が化けてしまいます。 これを回避する何か方法はあるのでしょうか よろしくお願いします。

    • ベストアンサー
    • PHP
  • バッチファイル 戻り値

    いつも大変御世話になっております。 WindowsVISTA環境で以下バッチ【ABC.bat】が稼動します。 "ABC.bat"------------------------------------------------- @ECHO ON set bat_name="ABC.bat" call DEF.bat echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。 "ABC.bat"------------------------------------------------- 上記バッチの構文では以下バッチDEF.batを起動させ、ERRORLEVELを取得させます。 "DEF.bat"------------------------------------------------- @ECHO ON set bat_name="DEF.bat" exit /b 10 "DEF.bat"------------------------------------------------- 実行結果は予想していたものと違っていました。 予想していた実行結果 : "ABC.bat" は戻り値 10 を受け取りました。 実際の実行結果     : "DEF.bat" は戻り値 10 を受け取りました。】 %ERRORLEVEL%のみを取得したかったのですが DEF.bat の set bat_name="DEF.bat" までも取得してしまいました。 bat_name はどうしても "ABC.bat"とCALLする側の変数を使用したいのですが 制御は難しいでしょうか? echo %bat_name% は戻り値 %ERRORLEVEL% を受け取りました。 の直前に 再度 set bat_name="ABC.bat" と記述しなければダメでしょうか? 尚、都合上、ECHO文と変数名は変えたくありません。 もしご存知の方がいらっしゃるようでしたら、お手数ですが 実現可能かどうかをご回答願いますでしょうか? 以上、何卒宜しくお願い致します。

  • バッチファイルFTP -sで引数を渡せますか?

    どなたか教えて下さい。 TEST.batというバッチファイルの処理の中で、 FTP -s:D:\ABC.bat でファイルを指定して、FTPのputを実行させたいです。 putしたいファイルはTEST.bat内でsetで指定しています。そのsetで指定したファイルを引数などで、\D\ABC.batへ送る方法はないでしょうか?

  • Apacheのmod_rewriteでURLの書き換え

    Apacheのmod_rewriteでURLを書き換えたいと思います。 ルートデイレクトリは"C:/Program Files/Apache Group/Apache2/htdocs"です。   そして、http://localhost/sample/ と打ったときに、"C:/Program Files/Apache Group/Apache2/htdocs/sample"ではなく、"C:/tmp/test"にアクセスされるようにするには、httpd.confにどのような設定を追加すればよいのでしょうか? Apache 2.0.63 Windows Vista

  • サービスプロセスからバッチファイルを起動すると、cmd.exeが増幅する。

    私が作成したサービスプログラム(コントロールパネル-管理ツール-サービスに表示されるプロセス)から、以下の記述のバッチファイル(test.batとします)をCreateProcess()にて起動したところ、test.bat内のap.exeは起動せず、cmd.exeのみが増幅していきます。(タスクマネージャにて確認)起動できる場合もあるのですが、何が原因なのでしょうか? test.batの内容 start /B "C:\Program Files\TEST" ap.exe

  • ImageMagickでのバッチファイル作成の方法

    今現在Windows SP2環境にてImageMagickを使用しております。 そこで、下記のコマンドを記述したバッチファイルを作成したい と思っております。 <コマンド> convert -density 300 +antialias hoge.eps hoge.png そこで以下のようなバッチファイルを作成しました。 ------以下、バッチファイルtest.batの内容------- @echo off convert -density 300 +antialias hoge.eps hoge.png -------------------------------------------------- しかし、実際に「test.bat」と打ってenterを押しても 何も表示されず、ファイルも作成できておりません。 バッチファイルではなく、コマンドプロンプトに convert -density 300 +antialias hoge.eps hoge.png と打つとうまく作成できます。Pathの設定もしっかり 出来ておりますのでバッチファイルの記述の仕方に 問題があるのではないかと考えております。 どのように直せばうまくいくか分かりますでしょうか? どうかご教示の程よろしくお願い致します。

  • windowsのapacheのhttpd.conf

    windowsのapacheのhttpd.confの書き方についての質問です。 通常windows(私は7です)にapacheをインストールすると httpd.confには DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と書かれていますが、前述の質問の回答で LINUXがOSの場合、スラッシュ→「?」は有効だが windowsがOSの場合バックスラッシュ→「\」に置き換えなければならない、 と私は解釈したのですが、 では、デフォルトの DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" でApacheが正常に稼働しているようなのですが、 これって/を使ってますよね? これって、windowsがOSの場合の\のルールに反しているのに、 localhostと入力すると、it worksのhtmlが参照されるのは何故なんでしょうか? そして これを"C:\www"とCドライブの直下に置くことが出来るみたいなんですが、 ドキュメントルートの変更で\を使っても私の環境下では DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" と同じで、この中のhtmlは読んでしまうのは何故なんでしょうか? 長文、駄文、失礼いたしました。 何分超初心者の身なので、詳しい方は「?何いってやがんだ…質問の趣旨がわからん」 と思われるかもしれませんが、拙い表現になってしまうのはお許しください。