for /F %%i in ('dir /b "C:\Program Files\Apache folder\*.*"') do (
echo Folder is NON empty
goto launch_app
)
フォルダが空であることを確認する方法は?
上記のコマンドを試しましたが、うまくいきませんでした。
for /F %%i in ('dir /b "C:\Program Files\Apache folder\*.*"') do (
echo Folder is NON empty
goto launch_app
)
フォルダが空であることを確認する方法は?
上記のコマンドを試しましたが、うまくいきませんでした。
これを試して:
for /F %%i in ('dir /b /a "C:\Program Files\Apache folder\*"') do (
echo if you see this the folder is NOT empty
goto launch_app
)
ファイルが見つかりません
@for /f "tokens=*" %%a in ('dir /b /a-d "C:\Progra~1\Apache"') do @...
このコマンドを実行すると表示されるエラーは、標準エラー出力に表示されます。しかし、これはコンソールに表示される警告にすぎません。この場合、反復の本体は評価されず、この「for/dir」命令に基づくアルゴリズムは実際には正しいです。
さて、この醜いエラー メッセージを取り除きたい場合は、標準エラーを null デバイスにリダイレクトするために、スクリプトに次を追加する必要があります。
2>NUL
たとえば、バッチ ファイルで適切なエスケープ文字を使用すると、次のようになります。
@rem Print a list of file paths
@for /f "tokens=*" %%a in ('dir /b /a-d "%srcPath%" 2^>NUL') do @echo(%srcPath%\%%a
dir C:\TEST\*.* /a/b/d/od>C:\TEMP\CHECKFOLDER
for /R C:\TEMP\ %%? in (CHECKFOLDER) do (
if "%%~z?"=="0" (
ECHO Folder is empty.
) ELSE (
ECHO Folder is NOT empty
)
)