Flasher
Новый скрипт работает, проверил на той же папке.
Flasher писал(а):Скрипт проверяет все файлы, в том числе те, что не были переименованы.
Для проверки переименовал все файлы в Total Commander. Я имел ввиду, что скрипт сначало переименовал все файлы в папке, а потом в этой же папке столько же по времени подсчитывал crc и окно появлялось после окончания процесса. То есть вначале работы скрипта в коммандной строке было hashfile.exe" "L:\Папка\НеПереименованный_файл.mp4, а потом hashfile.exe" "L:\Папка\Переименованный_файл.mp4
SVM
Новый или обновлённый?
Вообще - странно. Список файлов скрипт получает только до переименования, а после уже идёт по подпапкам. В чём именно могла быть причина, понять не могу. У меня такого не наблюдалось.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Прошу прощения, не нашел примера.
Есть папка с подкаталогами, там файлы типа 1.jpg, 10001.jpg, 10002.jpg...
Как во всех подкаталогах сразу переименовать просто по порядку номеров?
То есть 1.jpg, 2.jpg, 3.jpg....
Порядок устраивает, какой он сейчас, только имена файлов не устраивают.
Спасибо большое.
a-dasler
В каждом подкаталоге по порядку или скопом?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Нет, там только jpg файлы под разными номерами (порядок файлов какой нужен). Только в папках есть еще подпапки. Ну то есть не одного уровня вложение. А все остальные ненужные символы в названиях я уже убрал через поиск, а после файлы на панель и групповое переименование.
a-dasler
А почему нельзя просто удалить 1000 в именах?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Там есть и файлы 10012, 10013 и так далее. Но дело даже не в этом. Там так же есть во многих папках файлы 1.jpg вместе с 10001.jpg, и когда начинаешь переименовывать, то тотал выдает сообщение, что нельзя переименовать файлы, выделенные жирным Вот такой конфликт.
Ну то есть он не хочет делать из 10001.jpg файл 1.jpg, если таковой уже есть в папке. Но это очевидно как бы.
Если убрать 100, то получаются файлы с нулями впереди и т.п.
'==========================================================
' Именовать файлы нумерацией в структуре активного каталога
' Файлы с базовым нумерным именем до 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
Последний раз редактировалось Flasher Вт май 05, 2015 11:43, всего редактировалось 4 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
a-dasler
Ctrl+B (или Ctrl+Shift+B для выделенных папок), затем выделить все файлы и перенести их (F6) в свои же папки, указав в верхнем поле 1.*, выбрав галку "Сохранять пути относительно текущего каталога" и опцию "Автоматически переименовывать копируемые файлы". Если нумерация со скобками не устроит, то тут же (в виде без подкаталогов) запустить групповое переименование с галкой для "Рег. выраж." примерно такого вида
Найти: 1\((.+)\)
Заменить на: $1
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.