2016-04-05 23 views
2

Tüm dosyaları, yalnızca bir yolla, txt'de çıktılı bir klasörün adı ve boyutunu içeren yinelemeli olarak listelemeye çalışın. İki klasör için yapmayı planlıyorum ve özdeş olup olmadığını görmek için 2 çıktı txt'yi karşılaştırıyorum. sonucunu eklemek içinBatch: Bir txt yolunda ve boyutunda yinelenen dosyaları listeleme

\Folder\MyFolder\MyFile 23617195 

cevap

0

deneyin:

@echo off for /R "F:\Folder1\MyFolder\" %A in (*.*) do echo %~pnA %~zA > output.txt

Ama şimdilik ben elde neden recursivity benim durumumda çalışmıyor görünüyor:

Şimdilik Denedim:

for /R "F:\Folder1\MyFolder\" %A in (*.*) do echo %~pnA %~zA >> output.txt 
+0

Teşekkürler, bu işe yarıyor! İkinci soru: klasörler analiz klasörleri kaydedebilirsiniz. Dosyaların özdeş olup olmadığını görmem gerekiyor, ben de isimlere ve boyutlara bakıyorum. Bu dava için çalışmak ister miydi? – vincs2

+1

@ vincs2 - iki dosyayı karşılaştırabileceğiniz (FC) [http://ss64.com/nt/fc.html] komutunu kontrol edebilirsiniz. – npocmaka

0

İsterseniz şu şekilde de deneyebilirsiniz:

@echo off 
Set LogFile=Path_Size.txt 
if exist %LogFile% Del %LogFile% 
Set Folder=c:\test 
(
    for /f %%a in ('dir /s /b %Folder%') do (
     echo "%%~fa" & Call:GetSize %%a & echo ****************** 
     ) 
)>>%LogFile% 2>nul 
Start "" %LogFile% 
pause 

:GetSize 
(
echo wscript.echo GetSize("%~1"^) 
echo Function GetSize(MyFile^) 
echo Set fso = CreateObject("Scripting.FileSystemObject"^) 
echo Set objFile= fso.GetFile(MyFile^) 
echo GetSize = FormatSize(objFile.Size^) 
echo End Function 
echo '******************************************************************* 
echo 'Function to format a number into typical size scales 
echo Function FormatSize(iSize^) 
echo aLabel = Array("bytes", "KB", "MB", "GB", "TB"^) 
echo For i = 0 to 4 
echo  If iSize ^> 1024 Then 
echo   iSize = iSize/1024 
echo  Else 
echo   Exit For 
echo  End If 
echo Next 
echo FormatSize = Round(iSize,2^) ^& " " ^& aLabel(i^) 
echo End Function 
echo '******************************************************************* 
)>%tmp%\Size.vbs 
Cscript /NoLogo %tmp%\Size.vbs 
Del %tmp%\Size.vbs 
Exit /b