递归运行命令并检查它是否存在

发布于 2024-10-13 23:58:10 字数 317 浏览 6 评论 0原文

在 Windows Env 上,我试图找到一种方法来递归检查目录树中的所有文件,以查看它们的文件名/大小是否与另一个目录中的文件列表匹配,如果它们确实存在于目录中,则它运行命令在文件中找到

伪代码:

Loop{
If(RecursivelyFindFiles() = FileInFileListingInResources()) {

DoCommand(cmd1 -D -R -N %FoundFile C:\resources\%Filename)

}

}

我知道我想要什么,只是不知道如何在 Windows 环境上执行此操作

On a Windows Env, I'm trying to find a way to recursively check all files in a dirtree to see if they filename/size match a list of files in another dir, if they do exist in the dir, then it runs a command on the file found

Psudocode:

Loop{
If(RecursivelyFindFiles() = FileInFileListingInResources()) {

DoCommand(cmd1 -D -R -N %FoundFile C:\resources\%Filename)

}

}

I know what i want, just dont know how to do it on a Windows Env

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以歌曲疗慰 2024-10-20 23:58:10
@echo off
for /r %root% %%f in (*.*) do if exist ..\folder\%%~nxf call :furthertests %%f folder\%%~nxf
goto :eof

:furthertests
echo %1 found
if not "%~z1"=="%~z2" goto :eof
echo file sizes match (%~z1 bytes)
@rem Do your stuff with %1 here
@rem ...

假设 %root% 是搜索树的开始,并且 ..\folder\ 包含原型文件。

@echo off
for /r %root% %%f in (*.*) do if exist ..\folder\%%~nxf call :furthertests %%f folder\%%~nxf
goto :eof

:furthertests
echo %1 found
if not "%~z1"=="%~z2" goto :eof
echo file sizes match (%~z1 bytes)
@rem Do your stuff with %1 here
@rem ...

Assumes %root% is start of search tree, and ..\folder\ contains the prototype files.

情徒 2024-10-20 23:58:10

这是一个开始!

@echo off
rem %1 First folder
rem %2 Other folder to compare
FOR /R %1 IN (*.*) DO echo %%G
echo Done!

您可以调用 fc %%G ABC(这是一个文件比较 exe)来代替 echo %%G。但我不知道如何将 ABC 格式化为文件夹 2 (%2) 的路径 + %%G 的基本文件名。
之后,对 fc 的结果进行 if 测试,然后您可以调用您的处理。

对不起,我承认我必须在这里停下来!

here is a start !

@echo off
rem %1 First folder
rem %2 Other folder to compare
FOR /R %1 IN (*.*) DO echo %%G
echo Done!

Instead of the echo %%G, you can call fc %%G ABC which is a filecompare exe. But I don't know how to format ABC to be the Path to folder 2 (%2) + base filename of %%G.
After, a if test to the result of fc and you can call your processing.

I'm sorry, I admit I must stop here !

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文