Ни у кого нет скрипта обхода подпапок в папке?

seg856
Дата: 11.05.2017 07:59:06
Нужно найти файлы, полный путь к которым очень длинный. Для этого нужно обойти все подпапки, вычислить длину полных путей к каждому файлу. Ничего похожего нет на VBScript, например?
Akina
Дата: 11.05.2017 09:07:22
А просто DIR в файл и обработать полученный листинг - не?

А так - FSO в руки и рекурсивно вниз по дереву, типа

dim fso
set fso =
call recurse(foldername)

sub recurse
set fldr = fso.getfolder
for each onefile in fldr.files
debug.print onefile.name, len(onefile.path & onefile.name)
next
for each subfldr in fldr.folders
call recurse(foldername & subfldr.name)
next
end sub
Dima T
Дата: 11.05.2017 09:19:21
Список всех файлов в текущей папке с подпапками
dir /s /b
WebSharper
Дата: 11.05.2017 09:24:06
seg856
Нужно найти файлы, полный путь к которым очень длинный. Для этого нужно обойти все подпапки, вычислить длину полных путей к каждому файлу. Ничего похожего нет на VBScript, например?


PowerShell скрипт выводит грид с возможностью фильтрации и сортировки из путей и имен

ls -r | select FullName,@{n="FullNameLength";e={ $_.FullName.Length }} | ogv
WebSharper
Дата: 11.05.2017 09:32:52
WebSharper
путей и длин
Roman Mejtes
Дата: 11.05.2017 10:28:04
Dima T,

лучше еще ключик a добавить, чтоб скрытые файлы искало.

dir <маска поиска> /s /b /a

результатом будет список найденных файлов с полным путём, как и требуется автору
experience
Дата: 11.05.2017 13:06:58
Akina
Дата: 11.05.2017 13:40:36
Function ShowLongFilenames(FolderSpec, MinLength)
Dim FSO, CurrentFolder, Iterator, ItemsCollection, temp
Set FSO = CreateObject("Scripting.FileSystemObject")
Set CurrentFolder = FSO.GetFolder(FolderSpec)
Set ItemsCollection = CurrentFolder.Files
For Each Iterator in ItemsCollection
	If Len(Iterator.Path) >= MinLength Then
		temp = temp & Iterator.Path & " - " & Len(Iterator.Path) & vbNewLine
	End If
Next
set ItemsCollection = CurrentFolder.SubFolders
For Each Iterator in ItemsCollection
	temp = temp & ShowLongFilenames(Iterator.Path, MinLength)
Next   
ShowLongFilenames = temp
End Function

WScript.Echo ShowLongFilenames("c:\temp", 32)