获取缺少指定文件到变量的文件夹路径

时间:2015-02-07 17:02:02

标签: batch-file directory detect

假设我在一个中有两个文件夹

MyFolder \ Folder1 \ - 包含 .class .java 文件

MyFolder \ Folder2 \ - 仅包含 .class 文件

问题是,如果您可以让批处理文件检测到(MyFolder)中缺少.java文件的文件夹,并将路径放入变量中。

类似:

在MyFolder中找到没有* .java文件的子/文件夹\< - 并以某种方式将文件夹路径放入变量

有谁知道脚本会是什么样子? 感谢所有有帮助的人。

2 个答案:

答案 0 :(得分:0)

这是一个想法,你可以努力使它符合你的需求:

Setlocal EnableDelayedExpansion
for /D %%f in (MyFolder\*) do if not exist %%f\*.java (
    set nonJavaFolder=%%f
)
echo !nonJavaFolder!

答案 1 :(得分:0)

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\t w o"
FOR /f "tokens=1*delims=" %%a IN (
  'dir /b /ad "%sourcedir%\*" '
  ) DO (
  IF NOT EXIST "%sourcedir%\%%a\*.java" ECHO no .java IN "%sourcedir%\%%a"
  IF NOT EXIST "%sourcedir%\%%a\*.class" ECHO no .class IN "%sourcedir%\%%a"
)

GOTO :EOF

您需要更改sourcedir的设置以适合您的具体情况。

当然,您可以设置变量而不是echoing结果。如果有多个目录缺少文件,你就不会说你想做什么。