0

我必须比较两个文件夹中的文件,它们的文件名如下

文件夹A:[a.f90,b.f90,...] 文件夹B:[a_recoded.f90,b_recoded.f90,...]

我希望将文件夹 A 中的 a.f90 与文件夹 B 中的 a_recoded.f90 进行比较。

使用的是:

@echo off
set folderA=D:\folderA
set folderB=D:\folderARenamed
set /a i=0
set /a j=0
cd %folderA%
FOR %%f in (*.f90) DO ( set /a i+=1 & for %%r in (%folderB%\*.f90) DO (set /a j+=1 & if %i% EQU %j% FC %%f %% r ) )

它对我没有帮助,任何人都可以帮助我如何进行此比较。

4

2 回答 2

2

尝试这个:

@echo off &setlocal
set "folderA=D:\NONMEM7.3beta7.0"
set "folderB=D:\NONMEM7.3beta7.0Renamed"
for %%a in ("%folderA%\*.f90") do if not exist "%folderB%\%%~na_recoded%%~xa" echo %%~na_recoded%%~xa not found in %folderB%.
for %%a in ("%folderB%\*.f90") do for /f "delims=_" %%b in ("%%~na") do if not exist "%folderA%\%%~b%%~xa" echo %%~b%%~xa not found in %folderA%.
于 2013-10-01T11:44:46.980 回答
0

感谢您的帮助,现在我也使用以下代码循环浏览文件夹:

@echo off
set vss=D:\FolderA
set renamed=D:\FolderARenamed

cd %renamed%
FOR /D %%d in (*) DO (
   cd %renamed%\%%d
   FOR %%f in (*.f90, *.f, *.c) DO (
      if exist %vss%\%%d\%%f fc %%f %vss%\%%d\%%f
      if not exist %vss%\%%d\%%f fc %%f %vss%\%%d\%%~nf_Recoded.f90
   )
)
于 2013-10-01T12:49:40.690 回答