VBS Получение количества объектов в папке

Паразит

Участник
Сообщения
62
Реакции
1
Привет.
Как мне сделать простой скрипт, который будет выводить количество объектов в каталоге.

VB.NET / VBA:
 set objArgs = WScript.Arguments
 If objArgs.Count <= 0 Then
     WScript.Echo "Я не вижу аргументов"
 else
 objFolder = objArgs(0)
 end if
 'MsgBox objFolder

Set objShellApp = CreateObject("Shell.Application")
Set objItems = objFolder.Items()
Count = objItems.Count
MsgBox objFolder.Self.Path & " " & Count
Или так

VB.NET / VBA:
 set objArgs = WScript.Arguments
If objArgs.Count <= 0 Then
     WScript.Echo "Я не вижу аргументов"
else
objFolder = objArgs(0)
'MsgBox objFolder

Set objShellApp = CreateObject("Shell.Application")
Set objFolder = objShellApp.objArgs(0)
Set objItems = objFolder.Items()
Count = objItems.Count
end if
MsgBox objFolder.Self.Path & " " & Count



Как мне создать объект?
 
Как мне создать объект?
какой, для чего?
посчитать хотите файлы и папки в каталоге? в аргументе путь передаете?

VB.NET / VBA:
set objArgs = WScript.Arguments
If objArgs.Count <= 0 Then
     WScript.Echo "Я не вижу аргументов"
else
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = FSO.GetFolder(objArgs(0))

    Count = objFolder.Files.Count + objFolder.SubFolders.Count
end if
MsgBox Count
@Dragokas, ты телепатией владеешь?)
 
Задача такая. Я нахожусь в папке. В ней есть другие папки.
Я нажимаю скрипт, и мне выводится окно с количеством файлов в каждой папке.
На один уровень
 
VB.NET / VBA:
Set oFSO = CreateObject("Scripting.FileSystemObject")
sCurFolder = oFSO.GetParentFolderName(WScript.ScriptFullName)

For each oSubFolder in oFSO.GetFolder(sCurFolder).SubFolders
  s = s & oSubFolder.Name & " = " & oSubFolder.Files.Count & vbcrlf
Next

WScript.Echo (s)

@Dragokas, ты телепатией владеешь?)
Иногда бывает, по чёрным пятницам... Сегодня - пятница -))
 
лис.хвост, теперь я спрошу, ты экстрасенсом подрабатываешь иногда?

Dragokas, а как мне обойтись без "WScript." объекта?
Странный вопрос. Чтобы обойтись без объекта WScript, нужно перестать пользоваться скриптами VBS/JS.

Или как мне его создать?
Его не нужно создавать. Вы уже под ним работаете, после запуска скрипта VBS/JS.
 
Я использую его в хрени, где используются скрипты, и мне пищет, что теребуется объект WScript.
Получается, что я не использую WSH. Эта оснастка работает напрямую с VBScript.
И поэтому необходимо создавать объект, или использовать другой объект.
 
Это из-за последней строки?
Код:
WScript.Echo (s)
Замените на что-то другое. Это только пример. Я ведь не знаю, куда дальше Вам нужно направить переменную s.
Эта строка просто выводит результат на экран.

Ещё есть
Код:
msgbox s
Еще у Popup:
Код:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Popup s,, "Текст заголовка", 4+16

Из-под других языков не получится создать объект WScript.
 
Назад
Сверху Снизу