コマンドラインで、フォルダとファイルを判別する。(その2)
簡単で確実なのは、属性をチェックすることです。
属性は、バッチ変数かFOR変数の%~a1で取り出せます。
drahs----
先頭のdをチェックします。
次のバッチファイルでは、環境変数の操作で先頭1文字を取り出します。
IsFolder.CMD フォルダかファイル
@ECHO OFF
SETLOCAL
SET A=%~a1
IF %A:~0,1%==d ECHO フォルダです。
IF %A:~0,1%==- ECHO ファイルです。
次のバッチファイルでは、FOR /F文のeol文字(行頭コメント文字)を利用します。
IsFolder.CMD フォルダかファイル
@ECHO OFF
FOR /F "eol=-" IN ("%~a1") DO ECHO フォルダです。
FOR /F "eol=d" IN ("%~a1") DO ECHO ファイルです。
また、バッチファイルの中では、
FOR %%1 IN ("フォルダかファイル") DO FOR /F "eol=-" IN ("%%~a1") DO ECHO フォルダです。
FOR %%1 IN ("フォルダかファイル") DO FOR /F "eol=d" IN ("%%~a1") DO ECHO ファイルです。