Страница 29 из 52
Добавлено: Сб мар 14, 2015 12:14
SVM
Flasher
Новый скрипт работает, проверил на той же папке.
Flasher писал(а):Скрипт проверяет все файлы, в том числе те, что не были переименованы.
Для проверки переименовал все файлы в Total Commander. Я имел ввиду, что скрипт сначало переименовал все файлы в папке, а потом в этой же папке столько же по времени подсчитывал crc и окно появлялось после окончания процесса. То есть вначале работы скрипта в коммандной строке было hashfile.exe" "L:\Папка\НеПереименованный_файл.mp4, а потом hashfile.exe" "L:\Папка\Переименованный_файл.mp4
Добавлено: Сб мар 14, 2015 12:36
Flasher
SVM
Новый или обновлённый?

Вообще - странно. Список файлов скрипт получает только до переименования, а после уже идёт по подпапкам. В чём именно могла быть причина, понять не могу. У меня такого не наблюдалось.
Добавлено: Сб мар 14, 2015 15:48
SVM
Flasher
Обновлённый.
Переименование в подкаталогах по порядку номеров
Добавлено: Пн май 04, 2015 11:02
a-dasler
Прошу прощения, не нашел примера.
Есть папка с подкаталогами, там файлы типа 1.jpg, 10001.jpg, 10002.jpg...
Как во всех подкаталогах сразу переименовать просто по порядку номеров?
То есть 1.jpg, 2.jpg, 3.jpg....
Порядок устраивает, какой он сейчас, только имена файлов не устраивают.
Спасибо большое.
Добавлено: Пн май 04, 2015 11:10
Flasher
a-dasler
В каждом подкаталоге по порядку или скопом?
Добавлено: Пн май 04, 2015 11:30
a-dasler
Flasher писал(а):a-dasler
В каждом подкаталоге по порядку или скопом?
Да, нужно во всех подкаталогах по порядку. Чтобы в каждом подкаталоге начиналось с 1.jpg
Добавлено: Пн май 04, 2015 11:57
Flasher
А помимо нумерованных jpg-файлов там ничего нет?
Добавлено: Пн май 04, 2015 13:52
a-dasler
Нет, там только jpg файлы под разными номерами (порядок файлов какой нужен). Только в папках есть еще подпапки. Ну то есть не одного уровня вложение. А все остальные ненужные символы в названиях я уже убрал через поиск, а после файлы на панель и групповое переименование.
Добавлено: Пн май 04, 2015 14:03
Flasher
a-dasler
А почему нельзя просто удалить 1000 в именах?
Добавлено: Пн май 04, 2015 14:12
a-dasler
Там есть и файлы 10012, 10013 и так далее. Но дело даже не в этом. Там так же есть во многих папках файлы 1.jpg вместе с 10001.jpg, и когда начинаешь переименовывать, то тотал выдает сообщение, что нельзя переименовать файлы,
выделенные жирным Вот такой конфликт.
Ну то есть он не хочет делать из 10001.jpg файл 1.jpg, если таковой уже есть в папке. Но это очевидно как бы.
Если убрать 100, то получаются файлы с нулями впереди и т.п.
Добавлено: Пн май 04, 2015 14:39
Flasher
Пробуй:
Код: Выделить всё
'==========================================================
' Именовать файлы нумерацией в структуре активного каталога
' Файлы с базовым нумерным именем до 1000 не затрагиваются
' Условие: путь запуска - пустой
' Параметр (необязательный): <фильтр-список расширений>
' Пример: *.jpg;*.jpeg
'==========================================================
Set ShA = CreateObject("Shell.Application")
Set FSO = CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.Count Then Filt = WScript.Arguments(0) Else Filt = "*.*"
With CreateObject("WScript.Shell")
CD = .CurrentDirectory
If CD = FSO.GetParentFolderName(WScript.ScriptFullName) Then WScript.Quit
ForFolder CD : .SendKeys "^R"
End With
Sub ForFolder(Path)
Set Items = ShA.NameSpace(Path).Items
Items.Filter 64, Filt
For Each F in Items
Ext = FSO.GetExtensionName(F) : If Ext <> "" Then Ext = "." & Ext
i = i + 1 : N = i & Ext : BN = FSO.GetBaseName(F)
If IsNumeric(BN) Then
If BN > 999 Then
While FSO.FileExists(Path & "\" & N) Or FSO.FolderExists(Path & "\" & N)
i = i + 1 : N = i & Ext
Wend : F.Name = N
End If
ElseIf Not FSO.FileExists(Path & "\" & N) Then F.Name = N
End If
Next : Items.Filter 160, "*"
For Each Fold in Items : ForFolder Fold.Path : Next
End Sub
Добавлено: Пн май 04, 2015 16:38
sa
a-dasler
Ctrl+B (или Ctrl+Shift+B для выделенных папок), затем выделить все файлы и перенести их (F6) в свои же папки, указав в верхнем поле 1.*, выбрав галку "Сохранять пути относительно текущего каталога" и опцию "Автоматически переименовывать копируемые файлы". Если нумерация со скобками не устроит, то тут же (в виде без подкаталогов) запустить групповое переименование с галкой для "Рег. выраж." примерно такого вида
Найти: 1\((.+)\)
Заменить на: $1
Добавлено: Пн май 04, 2015 16:52
Tol!k
Добавлено: Пн май 04, 2015 17:10
a-dasler
Flasher писал(а):Пробуй:
ой-ла-ла )))
То, что доктор прописал.
Премного благодарен.
Sa, я ваш способ тоже испробую, спасибо!
зы. Плюсануть то некуда (
Добавлено: Пн май 04, 2015 19:06
Flasher
a-dasler
Пож-та. Только совсем не подумал о такой ситуации для базовых имён: