![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
基本的な質問ですみません。
下記バッチがあるとします。
C:\HOME\BAT\EXP\LIST\DEL.BAT
バッチでは下記ディレクトリ内ファイルを削除しようと
考えてます。
C:\HOME\LOG\JOB\JOB.LOG
でバッチで「DEL ../../../LOG/JOB/JOB.LOG」と記述しましたが
削除されません。
コマンドプロンプトで「CD ../../../」としても上記「HOME」フォルダに
移動できず絶対パスだと移動できます。
「DEL」「CD」コマンドは相対パスの場合、何かコツがあるのでしょうか?。
それとも単に間違えているのか・・。
アドバイスお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
相対パスは、カレントディレクトリを基準にするので、
それが災いしてちゃんと動かないのだと思います。
それと、DEL.BATのような名前は、コマンドDELと識別が
難しくなるのでやめた方が良いでしょう。
たぶん、"c:\home\log\exp\list"をカレントに、DEL。BATを起動すると・・
DEL.BAT内で、DELコマンドでなく、DEL.BATを再帰的に呼び出してしまう
可能性があります。
また、DEL.BAT内で、/による表現を使っていますが・・
Windows/DOSらしく、\とした方が間違いありません。
/でも動く場合はありますが、必ず動くとは限らない。
(これが理由かも??)
突っ込みどころが多いので、原因が確定できません。
No.4
- 回答日時:
delコマンドで相対パス指定はできなかったと思います。
>コマンドプロンプトで「CD ../../../」としても上記「HOME」フォルダに
>移動できず絶対パスだと移動できます。
これはよくわかりません。カレントが「C:\HOME\BAT\EXP\LIST」であれば先のコマンドで移動は可能だと思いますが・・・・
ということで、私も#3回答者様の方法がよいのではと思います。
絶対パスを指定したくないのであれば、他の方法を考えるしかないですね。
(環境変数からのパス取得とか、ファイル名検索とか・・・)
No.3
- 回答日時:
BATファイルの実行はどちらでやられているのでしょうか?
相対パスとは、実行時のパスからの相対的な位置を言うのでBATファイルの所在とは関係ありません。
BATファイルの同じパスに移動してから起動するか、BATファイルの頭の方にBATファイルのあるパスまで移動するコマンドを入れるとよろしいのではないでしょうか?
エクスプローラーなどからダブルクリックなどで実行する用途があるならBATファイルの頭の部分に移動コマンドの追加がおすすめです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_09.png?e8efa67)
No.2
- 回答日時:
私良く解りませんか^^;
参考になれば。
http://www.cj-c.com/faq/pass.htm
参考URL:http://www.shoshinsha.com/hp/1hour/know/pass.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- Windows 10 コマンドプロンプトの使い方 1 2022/10/13 14:43
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpコマンドを実行すると「425 ...
-
バッチ終了時にDOS窓を閉じるコ...
-
シェルの「:コマンドが見つか...
-
ftpコマンド出力結果の取得
-
コマンドプロンプト
-
ショートカットをデスクトップ...
-
make test って何をするための...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトとCygwinの違い
-
DOSコマンドで指定日数よりも過...
-
コマンド プロンプト
-
コマンドプロンプトで、特定の...
-
コンピュータ名をファイル名に...
-
bashからFTPコマンドのステータ...
-
SSH接続でwindowsサーバのコマ...
-
findstrでヒットした1行前の文...
-
tarやcpioファイルを作成/展開...
-
コマンドプロンプトの「%1」と...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
コマンドプロンプトをクリック...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
シェルの「:コマンドが見つか...
-
ftpコマンドを実行すると「425 ...
-
コンピュータ名をファイル名に...
-
バッチコマンドのIF文(条件...
-
SSH接続でwindowsサーバのコマ...
-
コマンドプロンプトで、特定の...
-
findstrでヒットした1行前の文...
-
FTP送信エラーの検知について
-
DOSコマンドで指定日数よりも過...
-
ftpコマンド出力結果の取得
-
Pythonで単純にファイルを結合...
-
AccessVBAで実行時間を指定する...
-
2つ目の「pause」は無効?
-
コマンドプロンプトを最小化し...
おすすめ情報