Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Darkar25, ясно. А почему только на одном разделе, и почему именно c:?

На WSH (пакетные файлы на коротком промежутке времени исполнения не дают реально псевдослучайных значений):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strRootFolder
Dim objFSO


Randomize Timer

strRootFolder = "c:\"

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strRootFolder) Then
	WScript.Echo ScanSubFolders(objFSO.GetFolder(strRootFolder))
Else
	WScript.Echo "Can't find root folder [" & strRootFolder & "]."
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
Function ScanSubFolders(objFolder)
	Dim objSubFolder
	
	Dim intSubFoldersCount
	Dim intRandom
	Dim intCount
	
	
	intSubFoldersCount = objFolder.SubFolders.Count
	
	If intSubFoldersCount > 0 Then
		intRandom = Int(intSubFoldersCount * Rnd() + 1)
		intCount = 0
		
		For Each objSubFolder In objFolder.SubFolders
			intCount = intCount + 1
			
			If intCount = intRandom Then
				Exit For
			End If
		Next
		
		ScanSubFolders = ScanSubFolders(objSubFolder)
	Else
		ScanSubFolders = objFolder.Path
	End If
End Function
'=============================================================================
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:49, 05-11-2018 | #4