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

Get a folder path where is missing specified file into variable

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

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

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

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

类似于:

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

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

这是一个想法,您可以根据自己的需要进行改进:

Setlocal EnableDelayedExpansion
for /D %%f in (MyFolder\*) do if not exist %%f\*.java (
    set nonJavaFolder=%%f
)
echo !nonJavaFolder!
@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 结果。如果有多个目录丢失文件,你不说你想做什么。