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

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

Ветеран


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

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


На WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFolder

Dim objFSO
Dim objFile

Dim strDestFolder


If WScript.Arguments.Count = 1 Then
	strSourceFolder = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FolderExists(strSourceFolder) Then
		With WScript.CreateObject("VBScript.RegExp")
			.Pattern    = "^(\S+) (\S)\.(\S)\. \d{2}\.\d{2}\.\d{4}\.(?:jpg|jpeg)$"
			.IgnoreCase = True
			
			For Each objFile In objFSO.GetFolder(strSourceFolder).Files
				If .Test(objFile.Name) Then
					With .Execute(objFile.Name).Item(0).Submatches
						strDestFolder = objFSO.BuildPath(strSourceFolder, .Item(0) & .Item(1) & .Item(2))
						
						If Not objFSO.FolderExists(strDestFolder) Then
							objFSO.CreateFolder strDestFolder
						End If
						
						objFile.Move strDestFolder & "\"
					End With
				End If
			Next
		End With
	Else
		WScript.Echo "Can't find source folder [" & strSourceFolder & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source folder>"
	WScript.Quit 1
End If

WScript.Quit 0

Путь к целевому каталогу задаётся параметром скрипта (также можно просто перетащить папку на скрипт в Проводнике).

Последний раз редактировалось Iska, 12-10-2018 в 21:27. Причина: Поправлена неточность в шаблоне

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:58, 11-10-2018 | #3