Страница 1 из 1

Выявление пробелов в последовательности файлов

Добавлено: Ср апр 01, 2015 20:04
cojoc
Помогите пожалуйста со скриптом, который показывал бы, каких имён не достаёт в закономерной последовательности в именах файлов.
Пример:
0.jpg
1.jpg
2.jpg
4.jpg
6.jpg

Результат работы скрипта (желательно сохранённый в текстовом файле):
3.jpg
5.jpg

Понимаю, что закономерность может быть сложной, мне достаточно только самой простой с числами. У меня есть много отдельных страниц книги по одной (>600), хотелось бы узнать все ли страницы есть.

Добавлено: Ср апр 01, 2015 20:45
Flasher
Файлы выбираются или нет?

Добавлено: Ср апр 01, 2015 21:58
cojoc
Из выделенных файлов.
Возможно это слишком объёмный труд для скрипта.

Добавлено: Ср апр 01, 2015 22:27
Flasher
cojoc
Я предлагаю установку курсора на последнем файле.
А зачем тут файл с именами? Не лучше просто номера собрать через запятую или пробел?

Добавлено: Ср апр 01, 2015 22:49
cojoc
В файл потому что их может быть много - всех не запомнить и чтобы потом можно было вернуться к списку недостающих.

Добавлено: Ср апр 01, 2015 22:58
Flasher
Так пойдёт?

Код: Выделить всё

'===================================================
' Найти отсутствующие файлы по нумерации №.ext
' при установке курсора на файле с последним номером

' Условие: путь запуска - пустой
' Параметр: %N
'===================================================
CD = CreateObject("WScript.Shell").CurrentDirectory
List = "List.txt" : F = WScript.Arguments(0)
With CreateObject("Scripting.FileSystemObject")
  Ext = .GetExtensionName(F)
  For i = 0 to .GetBaseName(F)
    Name = i & "." & Ext
    If Not .FileExists(Name) Then S = S & vbNewLine & Name
  Next : .CreateTextFile(List,1,True).Write Mid(S, 3)
End With : CreateObject("Shell.Application").Open(CD & "\" & List)

Добавлено: Чт апр 02, 2015 11:33
Вахмурка

Добавлено: Чт апр 02, 2015 14:47
cojoc
Flasher
Супер! Спасибо большое Flasher, работает шустро :)
Вахмурка Спасибо за альтернативу.

Добавлено: Пт апр 03, 2015 09:04
sa
Попытка уместить в кнопку:

Код: Выделить всё

TOTALCMD#BAR#DATA
%comspec% /c del Список.txt & for /L %# in (1,1,
100 ) do if not exist %%#.jpg echo %%#.jpg>> Список.txt
WCMICONS.DLL,79
Список пропущенных среди 100 страниц

1
-1
Если число страниц требуется менять часто, можно вместо числа страниц поставить знак вопроса и вводить его каждый раз при вызове кнопки (нажать HOME, число и ENTER).
Для проверки, начиная с нулевой страницы, надо in (1 на in (0 заменить.