将缺少指定文件的文件夹路径获取到变量中
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
结果。如果有多个目录丢失文件,你不说你想做什么。
假设我有两个个文件夹一个。
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
结果。如果有多个目录丢失文件,你不说你想做什么。