- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
Windows 中的批处理文件有时会让人感到困惑。怎么办
findstr "^"
相当于找一个空文件夹,当^表示行首?
for /d /r %1 %%A in (.) do (
dir /ad /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
)
除非我读错了
dir /ad /b "%%~fA" 2>nul
找到空文件夹。
最佳答案
此脚本将获取目录(及其子目录)列表,遍历每个目录以检查子目录,然后仅列出不包含子目录的目录名称。提供的链接中的原始脚本的工作方式类似,只是它只会列出完全 空目录(不包含子目录或 文件)。以下是每个代码部分的分割:
您示例中的 for/d
正在获取目录的递归列表:
for /d /r %1 %%A in (.) do ( )
for
循环递归到子目录for
遍历所有目录for
循环中的代码然后检查每个目录以查看它是否为空*:
dir /ad /b "%%~fA" 2>nul | findstr "^" >nul || echo %%~fA
dir
错误dir
找到的子目录列表通过管道传输到 findstr
findstr
结果findstr
结果)则运行命令*请注意:如 LotPings 所述,您提供的代码将产生与您链接到的示例不同的结果。 dir/a/b
列出所有文件和目录,而 dir/ad/b
仅列出目录。这意味着您的脚本将列出所有不包含子目录(但可能仍包含文件)的目录。如果这是预期的行为,请忽略此说明。
编辑:根据 Ben Voigt 的建议进一步分解上述命令列表。
关于windows - findstr "^"如何等同于一个空目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56316379/
在纯 Ruby 中删除目录中所有文件的安全有效方法是什么?我写了 Dir.foreach(dir_path) {|f| File.delete(f) if f != '.' && f != '..'}
我有一个单元测试(在 VS2008 或 VS2010 中使用 MSTest),我在其中创建了一个这样的文件夹: [TestMethod] public void TestMethod1() {
有人在 CVS 中创建了一个空包。我想在 Intellij 中 checkout 这个包,但 intellij 中没有出现任何内容。 有人知道原因以及如何解决吗? 最佳答案 您必须在结帐 Intell
我是一名优秀的程序员,十分优秀!