- PR -

MS-DOSでファイルかディレクトリかをチェックしたい

1
投稿者投稿内容
ゆいな
ベテラン
会議室デビュー日: 2006/01/19
投稿数: 89
投稿日時: 2006-07-28 15:06
お世話になります。

MS-DOSで、ファイルかディレクトリかを
チェックしたいのですが、可能でしょうか?

C:\>test.bat C:\temp
C:\temp はディレクトリです。
C:\>


C:\>test.bat C:\boot.ini
C:\boot.ini はファイルです。
C:\>

kattsugp
常連さん
会議室デビュー日: 2003/06/17
投稿数: 22
お住まい・勤務地: 大分県
投稿日時: 2006-07-28 15:20
引用:

ゆいなさんの書き込み (2006-07-28 15:06) より:
お世話になります。

MS-DOSで、ファイルかディレクトリかを
チェックしたいのですが、可能でしょうか?



参考程度です。
dir /a:dを実行すると、出力結果がディレクトリのみ表示されます。

いずれにしてもbatファイル程度ではできないのではないかと
思いますが。
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2006-07-28 15:39
本当の MS-DOS 上での話ですか? 
それとも Windows系OSの command.com や cmd.exe 上で使用するバッチファイルの話ですか?

boot.ini なんて書いてあるところを見ると NT系OSの様にも見えますが?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-07-28 15:42
コマンドプロンプトはあまり詳しくないので、思いついたことを書きますが、

pushd [名前]

を実行した後に%errorlevel%が1ならファイルで、0ならディレクトリです。
pushdの実行に成功するとカレントディレクトリが移動しますが、
0が帰ってきたときだけpopdを行うと元のディレクトリに戻れます。

#全然スマートじゃないな・・・

WSHを使っちゃマズいですか・・・?
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2006-07-28 16:33
泥臭さの時代に逆もどり

DIR S.TXT.* |FINDSTR "<DIR>" >NULL
ECHO %ERRORLEVEL%
1

DIR WINDOWS.* |FINDSTR "<DIR>" >NULL
ECHO %ERRORLEVEL%
0

DIR W.* |FINDSTR "<DIR>" >NULL
ファイルが見つかりません
ECHO %ERRORLEVEL%
1
------- 一種の時間つぶしパズルみたいな。
気分を変えて、PowerShellではどうなるのでしょう、Get-ChildItem では DIR
と似たようになってしまう、直接 属性は取れるのか?

[ メッセージ編集済み 編集者: MMX 編集日時 2006-07-30 22:51 ]
Uchikoshi
@ITエディタ
会議室デビュー日: 2001/07/27
投稿数: 197
投稿日時: 2006-07-28 18:56
ご参考までに。

http://www.atmarkit.co.jp/fwin2k/operation/command003/command2.html
Windows 2000 活用講座 Windows 2000 コマンドライン徹底活用
第3回 スクリプト入門 (その1)
2.スクリプト中での条件判断

フォルダ名に空白文字などが含まれていなければ、\\nulを末尾につけて、

if exist FOLDERNAME¥nul echo .....

みたいにするとよいらしいですが、特殊文字があると、ちょっと大変です。
1

スキルアップ/キャリアアップ(JOB@IT)