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
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sa



Joined: 29 Apr 2009
Posts: 2661

Post (Separately) Posted: Tue Nov 28, 2017 11:49    Post subject: Reply with quote

1student1
Я пробовал именно такой вариант.
Back to top
View user's profile Send private message
1student1



Joined: 24 Nov 2017
Posts: 9

Post (Separately) Posted: Tue Nov 28, 2017 11:55    Post subject: Reply with quote

sa
У меня не получилось вот посмотрите https://fex.net/get/609576700055/122727653

Что сделал не так ?

Добавлено спустя 5 минут:

sa
Вопрос снят . Нашел причину сам - лишний пробел между собачкой и именем диска.
Спасибо Вам за помощь !
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2661

Post (Separately) Posted: Tue Nov 28, 2017 12:00    Post subject: Reply with quote

После @ пробел не затесался случайно?

P.S.
Опоздал!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Nov 28, 2017 17:27    Post subject: Reply with quote

1student1 wrote:
Поиск мне выдаст 50 найденных файлов, а мне надо сразу скопировать 55.
Не подтверждаю. Что-то не так делаете. Версия ТС современная?

1student1 wrote:
искал скрипт который после поиска по списку будет копировать найденные файлы строго по указанному списку
После поиска по списку копировать строго по списку? Это как? В любом случае, как вы могли заменить, здесь не тема копирования. А поискать и спросить в одной из подходящих (1, 2) не должно было составить особого труда.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Urrih



Joined: 05 Feb 2022
Posts: 1
Location: Moscow Region

Post (Separately) Posted: Sat Feb 05, 2022 04:37    Post subject: Поиск из списка рекурсивно Reply with quote

Batya
По данному вами скрипту у меня осуществляется поиск только в директории из которой запускаю (в активной панели).
Подскажите, что изменить, чтобы поиск осуществлялся еще и во вложенным директориям т. е. рекурсивно.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10346
Location: Россия, Саратов

Post (Separately) Posted: Sat Feb 05, 2022 08:22    Post subject: Reply with quote

Urrih
О том, как следует оформлять запросы по работе скриптов, написано в прикреплённой памятке. Сообщение приведено к приемлемому виду.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Mon Feb 07, 2022 13:27    Post subject: Reply with quote

Urrih wrote:
Подскажите, что изменить, чтобы поиск осуществлялся еще и во вложенным директориям т. е. рекурсивно.

Уф... "Давно не брал я шашки в руки" (с)
Есть нюансы по постановке задачи. Возможно, вот это подойдёт:
Code:
'=========================================================================
' Проверка существования файлов\папок, представленных в файле-списке.
' Результат действия скрипта - формируемся итоговый файл-список
'   с отсутствующими файлами\папками
'
' Параметры:
' {исходный файл-список} {итоговый файл-список}
'
' Автор - Batya
'=========================================================================
Option Explicit
'======== Изменяемые параметры ===========================================
Const FolderCheck = True  'Проверять ли папки
Const FileCheck   = True  'Проверять ли файлы
Const Existing    = False 'Что помещать в итоговый файл
'=========================================================================
Dim Mess, FSO, WSH, FF1, FF2, F, FRet, 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)
    FRet = ExistsCheck(F)
    If Not Existing Then
      If FRet = "" Then
        FRet = F
      Else
        FRet = ""
      End If
    End If
    If FRet <> "" Then List = List & vbNewLine & FRet
  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)
  Dim lRet, lFF, lF
  lRet = ""
  If (lRet = "") And FolderCheck And FSO.FolderExists(pPath) Then
    lRet = pPath
  End If
  If (lRet = "") And FileCheck And FSO.FileExists(pPath) Then
    lRet = pPath
  End If
  If lRet = "" Then
    If FSO.FolderExists(pPath) Then
      lFF = pPath
    Else
      lFF = FSO.GetParentFolderName(pPath)
    End If
    For Each lF In FSO.GetFolder(lFF).SubFolders
      lRet = ExistsCheck(lF.Path & "\" & FSO.GetFileName(pPath))
      If lRet <> "" Then Exit For
    Next
  End If
  ExistsCheck = lRet
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

_________________
Нет, я не сплю. Я просто медленно моргаю.
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
Page 11 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