7
for /F %%i in ('dir /b "C:\Program Files\Apache folder\*.*"') do (
   echo Folder is NON empty
   goto launch_app
)
  • フォルダが空であることを確認する方法は?

    上記のコマンドを試しましたが、うまくいきませんでした。

4

5 に答える 5

11

これを試して:

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
)
于 2013-07-19T11:45:28.983 に答える
2

ファイルが見つかりません

@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
于 2016-03-26T23:58:33.333 に答える
0
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
 )
)
于 2020-03-28T22:41:12.960 に答える