[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
こんな感じ。attrib でファイルの属性をとり、findstr で判定。findstr の結果は ERRORLEVEL に格納されているのにそれを結果として利用。
REM isFile.bat
attrib %1 > TMP_ATTRIB
findstr /R "^A.*" TMP_ATTRIB 1>nul
if ERRORLEVEL 1 (
REM ディレクトリ
del TMP_ATTRIB
exit /b 1
) else (
REM ファイル
del TMP_ATTRIB
exit /b 0
)
こんな感じで呼び出す。以下のバッチスクリプトを保存して上述のバッチスクリプトを isFile.bat と命名して同じディレクトリに配置、exec.bat に判定したいファイルをドラッグ・ドロップすることで実行。
ドラッグ・ドロップしたファイル群をループで処理する際は for %%f in (%*) do () を用いる。バッチスクリプト内から別のバッチスクリプトを呼び出す際には call を用いる。
REM exec.bat
chcp 65001
echo off
set execBatDir=%~dp0
for %%f in (%*) do (
call %execBatDir%\isFile.bat %%f
if ERRORLEVEL 1 (
echo %%fはディレクトリ
) else (
echo %%fはファイル
)
)
pause
ただいまコメントを受けつけておりません。