我有一个目录,其子目录如下:
C:\FILES
C:\FILES\DONE
我想检查FILES是否包含没有文件:
if not exist C:\FILES\*.* (
echo No files to process.
exit /b
)
但测试"不存在......"由于子目录,它永远不会是真的。
关于如何检查目录是否有任何不是目录的文件的任何想法?
答案 0 :(得分:2)
尝试获取文件列表,如果失败,则没有文件
dir /a-d "c:\files\*" >nul 2>nul || (
echo No files to process
exit /b
)
如果没有文件,dir /a-d
命令(交换机意味着排除目录)将失败。 ||
是一个条件执行运算符,如果前一个命令失败,它将执行以下命令。
答案 1 :(得分:1)
仅当有文件时,<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp"
android:fillViewport="false">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
才会执行for
。
goto
答案 2 :(得分:0)
简单代码:
for /f "delims=|" %%f in ('dir /b c:\FILES\') do goto :files
echo No files found
pause
goto:eof
:files
echo Files found
pause
goto:eof
答案 3 :(得分:0)
如果要检查此级别上是否存在子目录:
(DIR /D "C:\FILES\" | findstr /i /p /r /c:"2 Directory" > nul 2> nul) && echo "No directories except current and parent."
这个简单的内联命令可以很容易地适应任何情况;-)
答案 4 :(得分:-1)
尝试
if not exist dir c:\FILES\*.* /a:-d (
您可以在dir here
上找到更多信息PS
我没有DOS。所以我无法测试上面的代码片段。但我认为它接近你正在寻找的东西。如果没有非常接近的东西应该有效。