プロが教える店舗&オフィスのセキュリティ対策術

バッチファイルで
cd C:\MYDOCU~1\TEST
dir
の2行を実行するようにしたつもりですが
カレントでdirされました。
現在のバッチは
@ECHO OFF
cd C:\MYDOCU~1\TEST
dir
なんですが、どこを直せばよいですか?

A 回答 (6件)

C:\MYDOCU~1\TESTディレクトリは存在するのでしょうか。


とりあえず@ECHO OFFをコメントアウト(REM @ECHO OFF)して、エラーメッセージを確認してみてください。
    • good
    • 0

文法に誤りはありません。


簡単なバッチファイルが思うように動かない原因で最も多いのは単純なタイプミスです。コロンとセミコロンの区別、要らないスペースの誤挿入などを点検してみて下さい。
    • good
    • 0

可能性としては、カレントドライブがCではないとか。



ドライブも変更する場合には、/Dオプションがいるのではありませんでしたっけ?

98環境が手元にないので検証できず、すみません。

この回答への補足

バッチをCに置いても変わらなかったので別に原因があるようでした。

補足日時:2004/02/29 16:54
    • good
    • 0
この回答へのお礼

ありがとうございます。
カレントDでした。
早速ためせていただきます。

お礼日時:2004/02/29 16:49

cd C:\MYDOCU~1\TEST


の\MYDOCU~1部分が8.3形式(8文字と3文字拡張子の旧DOS時代からの慣わし)に短縮されているのをみて、そのまま使っているからで、短縮しない形(綴り)を見つけそれをいれるとうまく行くのではないでしょうか。
DOS画面でdir c: | moreをすると長いネームはXXX(チルダ)1とかに略され、最後尾8桁目に連番がつきます。1も元からあった最後部ではなく着けられて連番でしょう。
c:¥My Documents¥TESTが正しいのでは。
    • good
    • 0
この回答へのお礼

半角スペース以降のDocuments¥TESTは引数となってしまいます。
MS-DOSプロンプトに直接入力するのでは質問に書いたもので動作しています。

お礼日時:2004/02/29 16:57

>カレントDでした。



ではdirより先にC:ドライブに移るか、dir c:としてください。

@ECHO OFF
cd C:\MYDOCU~1\TEST
c:
dir

あるいは

@ECHO OFF
c:
cd \MYDOCU~1\TEST
dir

あるいは

@ECHO OFF
cd C:\MYDOCU~1\TEST
dir c:
    • good
    • 0

■第1案



dir c:\mydoc~1\test

dir "c:\my documents\test"

の「1行野郎」では無効表示されるのですか。とりあえず絶対パス指定なのでカレントパスはどこでもかまいません。成功する可能性があると思います。

■第2案
あるいは、

@echo off
d:
cd "c:\my documents\test"
dir

といった、他の記述方法も試してみてください。
    • good
    • 0
この回答へのお礼

@echo off
dir "c:\my documents\test"

@echo off
dir "C:\MYDOCU~1\TEST"

ありがとうございました。
この2行でできました。

お礼日時:2004/02/29 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!