Mulla olisi pieni ongelma. Olen yrittänyt tehdä skriptiä, joka aluksi poistaa compare.log ja missing.log tiedostot jos niitä löytyy c-aseman juuresta. Se toimii ihan ok. Mutta sitten itse ongelma. Yritän verratta kahta eri kansiota keskenään ja jos niiden sisältö (alikansiot mukaanlukien) on sama syntyy c-aseman juureen compare.log ja mikäli kansioissa taas on poikkeavuuksia, missing.log. On oikeastaan aivan sama tuleeko noihin .log filuihin mitään tekstiä sisään kunhan vaan tuo äskeinen vertailu ja .log- tiedostojen luonti sitten toimii. Osaisiko siis joku auttaa minua asiassa alla olevan skriptin pohjalta? @echo off setLocal EnableDelayedExpansion if exist c:\compare.log del c:\compare.log if exist c:\missing.log del c:\missing.log for /f "delims=" %%G in ('dir/b/s c:\testi2\') do ( if exist "c:\testi2\%%G" ( fc "c:\testi2\%%G" "c:\testi\%%G" >> c:\compare.log ) else ( echo %%G is missing >> c:\missing.log ) )
nyt olen päässyt tähän tilanteeseen mutta ei toimi vielä niin kuin pitäisi... osaisiko joku auttaa? vai olisiko helpompi tehdä esim. vain dir -vertailu...? @echo setlocal set dirA=\\wscrfi0148\c$\testi set dirB=c:\testi2 for /R "%dira%" %%G in (*.pdf) do call :_process "%%G" goto :eof :_process set relpath=%~1 call set relpath=%%relpath:%dira%=%% if exist "%dirb%%relpath%" ( echo ok) else ( echo %~n1%~x1 exist only in %~d1%~p1 >> missing.log ) goto :eof