Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Надо найти 40 файлов и удалить!
Goto page Previous  1, 2, 3, ... 9, 10, 11  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Sun Apr 26, 2009 14:21    Post subject: Reply with quote

gegabit wrote:
Хочу знать каких файлов нет. (т.е. чтобы результат был тех файлов, которых нет)

TC не сможет показать отсутствующие файлы.
Как вариант - создать еще один файл-список.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Koljasik



Joined: 13 Nov 2007
Posts: 59
Location: СПб

Post (Separately) Posted: Mon Apr 27, 2009 08:07    Post subject: Reply with quote

Batya, спасибо, все замечательно работает!
Back to top
View user's profile Send private message
gegabit



Joined: 20 Oct 2006
Posts: 133
Location: дети берутся?

Post (Separately) Posted: Tue Apr 28, 2009 12:58    Post subject: Reply with quote

Ну если возможно сформировать по результатам проверки отсутствующие файлы в отдельном файл-списке, было бы замечательно!
_________________
Единственный недостаток водки - недостаток водки!
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1482
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat May 02, 2009 02:21    Post subject: Reply with quote

Раз уж про автоматизацию заговорили, перенёс.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Mon May 04, 2009 13:13    Post subject: Reply with quote

gegabit wrote:
Ну если возможно сформировать по результатам проверки отсутствующие файлы в отдельном файл-списке, было бы замечательно!
Code:
'=========================================================================
' Проверка существования файлов\папок, представленных в файле-списке.
' Результат действия скрипта - формируемся итоговый файл-список
'   с отсутствующими файлами\папками
'
' Параметры:
' {исходный файл-список} {итоговый файл-список}
'
' Автор - Batya
'=========================================================================
Option Explicit
'======== Изменяемые параметры ===========================================
Const FolderCheck = True  'Проверять ли папки
Const FileCheck   = True  'Проверять ли файлы
Const Existing    = False 'Что помещать в итоговый файл
'=========================================================================
Dim Mess, FSO, WSH, FF1, FF2, F, TFL, List
SetMess
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
CheckParam

For Each F In Split(FSO.OpenTextFile(FF1).ReadAll, vbNewLine)
  If F <> "" Then
    F = GetPath(F)
    If ExistsCheck(F) Then List = List & vbNewLine & F
  End If
Next
If List <> "" Then List = Mid(List, Len(vbNewLine) + 1)
On Error Resume Next
Set TFL = FSO.CreateTextFile(FF2, True)
If Err.Number <> 0 Then
  MessBox Mess(5) & vbNewLine & Err.Description, 1
  Err.Clear
  Quit
End If
TFL.Write List
If Err.Number <> 0 Then
  MessBox Mess(5) & vbNewLine & Err.Description, 1
  Err.Clear
  Quit
End If
On Error GoTo 0

MessBox Mess(4), 3
Quit

Sub SetMess
  Set Mess = CreateObject("Scripting.Dictionary")
  With Mess
    .Add 0,  "Проверка существования файлов\папок"
    .Add 1,  "Не указаны параметры!"
    .Add 2,  "Первый параметр не является файлом-списком!"
    .Add 3,  "Не указан итоговый файл-список!"
    .Add 4,  "Операция завершена."
    .Add 5,  "Операция прервана по причине ошибки:"
  End With
End Sub

Sub CheckParam
  If WScript.Arguments.Count = 0 Then
    MessBox Mess(1), 1
    Quit
  End If
  FF1 = GetPath(WScript.Arguments(0))
  If Not FSO.FileExists(FF1) Then
    MessBox Mess(2), 1
    Quit
  End If
  If WScript.Arguments.Count = 1 Then
    MessBox Mess(3), 1
    Quit
  End If
  FF2 = GetPath(WScript.Arguments(1))
End Sub

Function GetPath(pPath)
  GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
End Function

Function ExistsCheck(pPath)
  If FolderCheck And (Not FSO.FileExists(pPath)) And (Not (Existing Xor FSO.FolderExists(pPath))) Then
    ExistsCheck = True
    Exit Function
  End If
  If FileCheck And (Not FSO.FolderExists(pPath)) And (Not (Existing Xor FSO.FileExists(pPath))) Then
    ExistsCheck = True
    Exit Function
  End If
  ExistsCheck = False
End Function

Function MessBox(pMess, pMode)
  Dim lIcon
  Select Case pMode
    Case 1 lIcon = vbCritical    + vbOKOnly
    Case 2 lIcon = vbExclamation + vbOKOnly
    Case 3 lIcon = vbInformation + vbOKOnly
  End Select
  MessBox = MsgBox(pMess, lIcon, Mess(0))
End Function

Sub Quit
  Set Mess = Nothing
  Set WSH  = Nothing
  Set TFL  = Nothing
  Set FSO  = Nothing
  WScript.Quit
End Sub

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Fri May 08, 2009 15:33; edited 1 time in total
Back to top
View user's profile Send private message
gegabit



Joined: 20 Oct 2006
Posts: 133
Location: дети берутся?

Post (Separately) Posted: Wed May 06, 2009 11:46    Post subject: Reply with quote

Огромное спасибо Батя!
6901 файл просканено, 125 не было... =)

Кнопка для тотала:
Code:
TOTALCMD#BAR#DATA
c:\111\script.vbs
"C:\111\FileList.txt" "C:\111\nofiles.txt"
C:\Program Files\Total Commander\TOTALCMD.EXE,21
Поиск несуществующих файлов
c:\
-1
-1

_________________
Единственный недостаток водки - недостаток водки!
Back to top
View user's profile Send private message
Koljasik



Joined: 13 Nov 2007
Posts: 59
Location: СПб

Post (Separately) Posted: Wed May 06, 2009 16:55    Post subject: Reply with quote

Batya, замечательно!
Но тут, я так понимаю, файлы-параметры уже через %commander_path% не задать?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Wed May 06, 2009 18:33    Post subject: Reply with quote

Koljasik wrote:
Но тут, я так понимаю, файлы-параметры уже через %commander_path% не задать?

А что мешает?
Только надо учесть, что если параметры указывать в поле "Параметры" кнопки\команды, то вместо одного % надо писать дважды - %%, т.е. "%%commander_path%%".
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Koljasik



Joined: 13 Nov 2007
Posts: 59
Location: СПб

Post (Separately) Posted: Wed May 06, 2009 21:36    Post subject: Reply with quote

да и с %% эффект тот же: "не является файлом-списком"
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Thu May 07, 2009 12:09    Post subject: Reply with quote

Koljasik
Покажи кнопку.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Koljasik



Joined: 13 Nov 2007
Posts: 59
Location: СПб

Post (Separately) Posted: Thu May 07, 2009 22:50    Post subject: Reply with quote

Вот так все работает:
Code:

TOTALCMD#BAR#DATA
%commander_path%\Plugins\scripts\find.vbs
c:\totalcmd\temp\FileList.txt c:\totalcmd\temp\nofiles.txt
%commander_path%\TOTALCMD.EXE,18
Поиск несуществующих файлов
%commander_path%\Plugins\scripts\

-1


Заменить c:\totalcmd не удается...
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Fri May 08, 2009 15:34    Post subject: Reply with quote

Koljasik
Подредактировал скрипт.
Проверь, так работает?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Koljasik



Joined: 13 Nov 2007
Posts: 59
Location: СПб

Post (Separately) Posted: Fri May 08, 2009 16:01    Post subject: Reply with quote

Да! Спасибо.
Back to top
View user's profile Send private message
Stud



Joined: 06 Apr 2010
Posts: 4

Post (Separately) Posted: Tue Apr 06, 2010 22:13    Post subject: Reply with quote

Batya wrote:

Если нужен поиск по списку, то используем Script Content Plugin.


Подскажите, поиск по списку работает только, если в списке указано полное имя файла с расширением.
Как сделать, чтобы поиск был без расширения?

Пример: файл- 123456-20.jpg , а в списке надо- 12345.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2199
Location: Москва, Россия

Post (Separately) Posted: Tue Apr 06, 2010 23:27    Post subject: Reply with quote

Stud
А если в списке "1", то для файла "123456-20.jpg" возвращать признак "Найдено"?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, ... 9, 10, 11  Next
Page 2 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group