Batch file 批处理:以txt格式以路径和大小递归列出文件
尝试递归列出所有文件,其中仅包含文件夹的路径、名称和大小,并以txt格式输出。 我计划对两个文件夹执行此操作,并比较两个输出文本,看看它们是否相同 现在我试过:Batch file 批处理:以txt格式以路径和大小递归列出文件,batch-file,recursion,Batch File,Recursion,尝试递归列出所有文件,其中仅包含文件夹的路径、名称和大小,并以txt格式输出。 我计划对两个文件夹执行此操作,并比较两个输出文本,看看它们是否相同 现在我试过: @echo关闭 对于(*.*)中的/R“F:\Folder1\MyFolder\%A,执行echo%~pnA%~zA>output.txt 但目前看来递归性在我的案例中不起作用,因为我得到: \Folder\MyFolder\MyFile 23617195 尝试附加结果: for /R "F:\Folder1\MyFolder\"
@echo关闭
对于(*.*)中的/R“F:\Folder1\MyFolder\%A,执行echo%~pnA%~zA>output.txt
但目前看来递归性在我的案例中不起作用,因为我得到:
\Folder\MyFolder\MyFile 23617195
尝试附加结果:
for /R "F:\Folder1\MyFolder\" %A in (*.*) do echo %~pnA %~zA >> output.txt
如果您愿意,也可以尝试类似的方法:
@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
谢谢你,真管用!第二个问题:文件夹是保存文件夹。我需要查看文件是否相同,以便查看名称和大小。comp是否适用于这种情况?@vincs2-您可以检查(FC)[命令,您可以使用该命令比较两个文件。