2016-04-05 6 views
2

出力がtxtのフォルダのパス、名前、およびサイズのみを持つすべてのファイルを再帰的に一覧表示しようとしています。 私は2つのフォルダのためにそれを行い、2つの出力txtを比較して、それらが同じかどうかを確認します。バッチ:ファイルをtxtのパスとサイズで再帰的にリストします。

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

しかし、今のところ、私が得る原因再帰が私の場合には動作しないようです:

\Folder\MyFolder\MyFile 23617195 

答えて

0

は、結果を追加しよう:今、私はそれをしようとしたために

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

ありがとうございました! 2番目の質問: フォルダ分析はフォルダの保存です。私は名前とサイズを見るので、ファイルが同じかどうかを確認する必要があります。この場合、コンプは使えますか? – vincs2

+1

@ vincs2 - 2つのファイルを比較できる(FC)[http://ss64.com/nt/fc.html]コマンドを確認できます。 – npocmaka

0

また、好きなように試してみることもできます。

@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 
関連する問題