TC показывает "размер на диске" в столбце "размер". Я могу использовать ShellDetails например, но я также хочу, чтобы отображался динамический размер (x.x k / M / G), который не предоставляется оболочкой.
Как я могу заставить Total Commander показывать фактический размер вместо "размер на диске" в столбце "размер", сохраняя при этом динамическое представление (x.x k/M / G)?
4
2 ответа
значит у тебя настройки вида и динамическое размеров в столбце "размер"? Я сделал это, установив размер [=tc.size.bkMG2]
2
отвечен Francois Botha 2023-01-15 07:16
можно использовать плагин WinScriptAdv. Это проверяется с помощью 9.12 х64.
для создания пользовательского столбца с отображением округленного размера проводника.
- скачать и установить плагин
- найдите каталог плагинов и измените параметры.ini
- добавить в ActiveScripts | / SizeOnDisk", если ActiveScripts не пуст, если он пуст, "ActiveScripts=SizeOnDisk"
код:
[Script]
ActiveScripts=MinutesAgo|CheckEncoding|Signature|SizeOnDisk
; List of scripts that will work together, returning their info in columns in one panel.
; Separated by "|" - script1|script2 etc. One script can have multiple columns and display info with other
; scripts that also can be with multiple columns, all in one group of columns.
; You can add all scripts to ActiveScripts - it does not affect the performance (but takes more memory to
; load and save script code), cause script runs only if you have the corresponding visible column in TC.
[SizeOnDisk]
; File Size with explorer rounding in kB
Script=SizeOnDisk.vbs
content=sizeondisk
extensions=*
FoldersPaths=0
- создайте файл с именем Зиедоньдарзса.vbs в подпапке scripts и вставьте следующий код в этот файл. я не программист VBS, поэтому никаких гарантий, может быть, кто-то со знанием VBS может улучшить его
VBS код:
'==============================================================================
'Script for WinScriptAdv content plugin
' content - Size on Disk (Like Explorer column)
'==============================================================================
Set FSO = CreateObject("Scripting.FileSystemObject")
content = Result(filename)
Set FSO = Nothing
Function Result(pPath)
If FSO.FileExists(pPath) Then
Dim F : F = FSO.GetFile(pPath)
Dim oShell, oFSO, oEnv, oNet
Set oShell = CreateObject("Wscript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oEnv = oShell.Environment("Process")
Set oNet = CreateObject("WScript.Network")
Dim sTempFile, aText, i, aInfo
sTempFile = oFSO.GetAbsolutePathName(oFSO.GetTempName)
oShell.Run "%comspec% /c compact " & Chr(34) & F & Chr(34) & " > " & Chr(34) & sTempFile & Chr(34), 0, True
aText = Split(oFSO.OpenTextFile(sTempFile,1).ReadAll,vbCrLf)
If oFSO.FileExists(sTempFile) Then oFSO.DeleteFile sTempFile, True
For i = 0 To UBound(aText)
If InStr(aText(i),oFSO.GetBaseName(F)) Then
aInfo = Split(Replace(aText(i),"=",":"), ":")
If IsNumeric(Trim(aInfo(1))) Then
Result = Trim(aInfo(1))
End If
End If
Next
set F = Nothing
End If
End Function
1
отвечен BBK 2023-01-15 09:33
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]