| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| kdn 
 
 
 Joined: 19 Sep 2006
 Posts: 85
 Location: Москва, РФ
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 15:22    Post subject: Создание пустых файлов от 1 до n определенного расширения |   |  
				| 
 |  
				| Возможно ли в TC, в т.ч. плагинно-скриптово сделать так, чтобы по выделенному файлу слева, имеющему определенное имя и расширение, справа насоздавалось бы указанное в диалоговом окне n количество пустых файлов данного имени и расширения. Для чего это нужно: например, нужно создать 1000 текстовых файлов. Не будешь же 1000 раз копи-пастить и гасить в имени файла "копия" "копия_копия_...". Достаточно, если скрипт просто укажет <Имя файла> 1.txt <Имя файла> 2.txt
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| LonerD 
 
  
 Joined: 04 Jan 2011
 Posts: 1172
 Location: Макеевка
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 15:43    Post subject: |   |  
				| 
 |  
				| Предположим, не 1000 раз копировать, а всё же только 10, а операция "гасить" занимает не более 10-15 секунд через инструмент группового переименования. Но если ещё проще - в скриптовом разделе есть скрипты, которые напрямую делают то, что запрошено.
 _________________
 Windows 11 | TC DreamLair eternal pre-α
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| kdn 
 
 
 Joined: 19 Sep 2006
 Posts: 85
 Location: Москва, РФ
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 15:48    Post subject: |   |  
				| 
 |  
				|  	  | LonerD wrote: |  	  | Но если ещё проще - в скриптовом разделе есть скрипты, которые напрямую делают то, что запрошено.
 | 
 Например?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 15:51    Post subject: |   |  
				| 
 |  
				| Второй скрипт. А нет, первый (но там я ввод в окне числа не реализовал). Здесь только ввод имени. В общем, если надо, то пишем в топик со скриптом, покажу что добавить. _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 
 Last edited by Flasher on Fri May 01, 2015 15:58; edited 1 time in total
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Вахмурка 
 
  
 Joined: 27 Dec 2004
 Posts: 2586
 Location: Большая деревня Москва
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 15:59    Post subject: |   |  
				| 
 |  
				| Вахмурка Не годится, это не к пустышкам.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| kdn 
 
 
 Joined: 19 Sep 2006
 Posts: 85
 Location: Москва, РФ
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 16:24    Post subject: |   |  
				| 
 |  
				| Подходит.Спасибо за помощь. |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 16:27    Post subject: |   |  
				| 
 |  
				| Точно?  	  | kdn wrote: |  	  | указанное в диалоговом окне n количество пустых файлов | 
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| kdn 
 
 
 Joined: 19 Sep 2006
 Posts: 85
 Location: Москва, РФ
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 16:28    Post subject: |   |  
				| 
 |  
				| Flasher Да, подходит, подходит, нормально.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| LonerD 
 
  
 Joined: 04 Jan 2011
 Posts: 1172
 Location: Макеевка
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 17:07    Post subject: |   |  
				| 
 |  
				| Вот такой ещё скрипт есть. 
 
  	  | Code: |  	  | '================================================================
' Универсальное создание файлов
 '================================================================
 ' 1-й параметр: имя файла
 ' 2-й параметр: расширение файла (если "?" - то без расширения)
 ' 3-й параметр: путь где создавать файлы
 ' 4-й параметр: количество создаваемых файлов
 ' 5-й параметр: диалог ввода имени с расширением
 ' 6-й параметр: диалог ввода количества создаваемых файлов
 ' 7-й параметр: формат счётчика:
 '         1 - один разряд цифр (Name_1.txt, ... Name_12.txt, ...)
 '         2 - два разряда цифр (Name_01.txt, ... Name_12.txt, ...)
 '         3 - три разряда цифр (Name_001.txt, .. Name_012.txt, ..)
 '================================================================
 ' "%O" "?" - файл без расширения с именем файла под курсором в C:\
 ' "%O" "bat" - создаётся файл .bat в C:\ ...
 ' "%O" "ini" "%t" - создаётся ini-файл в панели назначения
 ' "%O" "ini" "%t" "4" - создаётся 4 ini-файла в панели назначения
 ' "%O" "ini" "%t" "4" "1" "1" - создаётся 4 ini-файла в панели
 '                  назначения + диалог ввода количества файлов
 '                  + диалог ввода имени с расширением
 '================================================================
 ' Script:      UniversalCreateFiles.vbs
 ' Author:      Аверин Андрей (запрос LonerD; модификация - LonerD)
 ' Build:      1.05 (2012.09.02)
 ' E-Mail:      Averin-And@yandex.ru
 ' OfSite:      http://tc-image.3dn.ru/forum/3-595-2695-16-1343552124
 '================================================================
 Set FSO = CreateObject("Scripting.FileSystemObject")
 Name = "DreamLair" : Ext = ".txt" : Path = "C:\" : Cont = 1 : Num = 1 : lDlm = "_"
 
 With WScript.Arguments
 Cnt = .Count
 If Cnt > 6 Then Cont = .Item(6)
 If Cnt > 5 Then DNum = .Item(5)
 If Cnt > 4 Then DName = .Item(4)
 If Cnt > 3 Then Num = .Item(3)
 If Cnt > 2 Then Path = .Item(2)
 If Cnt > 1 Then Ext = .Item(1)
 If Cnt > 0 Then Name = .Item(0)
 End With
 
 If Len(Path) = 0 Then WScript.Quit
 If Right(Path, 1) <> "\" Then Path = Path & "\"
 Titles = "Files Creating"
 
 If Ext = "?" Then
 Ext = ""
 Else
 If Len(Ext) = 0 Then Ext = ".txt"
 If InStr(Ext, ".") = 0 Then Ext = "." & Ext
 End If
 
 If Len(DName) = 0 Then
 If Len(Name) = 0 Then Name = "DreamLair"
 NE = Name & Ext
 Else
 If DName = "1" Then
 DName = InputBox("Enter file NAME . EXT", Titles, Name & Ext)
 If Len(DName) = 0 Or IsEmpty(DName) Then WScript.Quit
 End If
 NE = DName
 End If
 
 If Len(DNum) <> 0 Then
 If DNum = 1 Then
 DNum = InputBox("Number of creating files", Titles, "1")
 If Len(DNum) = 0 Or IsEmpty(DNum) Then WScript.Quit
 End If
 Num = DNum
 End If
 
 File = Path & NE
 
 On Error Resume Next
 If Num = 1 Then
 If Not FSO.FileExists(File) Then
 CreateFile(File)
 Else
 CreateFile(NextName(File, Cont))
 End If
 Else
 For i = 1 To Num
 CreateFile(NextName(File, Cont))
 Next
 End If
 
 Sub CreateFile(pFile)
 On Error Resume Next
 FSO.CreateTextFile(pFile)
 End Sub
 'CreateObject("WScript.Shell").Exec("%commander_path%\Plugins\exe\TCIMG\TCIMG.exe tcimg=50~~$cm540")
 'CreateObject("WScript.Shell").Popup "Created " & Num & " files", 1, Titles, 64
 
 Function NextName(pFilePath, Rank)
 Dim lPath, lName, lExt, li, lNum, lNewPath
 With FSO
 lExt = NameCheck(.GetExtensionName(pFilePath))
 lName = NameCheck(.GetBaseName(pFilePath))
 lPath = .GetParentFolderName(pFilePath)
 pFilePath = lPath  & "\" & lName & "." & lExt
 If Len(lPath) > 0 Then
 If Right(lPath, 1) <> "\" Then lPath = lPath & "\"
 End If
 If Len(lExt) <> 0 Then lExt = "." & lExt
 Do
 li = li + 1
 If li < 10^Rank Then
 lNum = Right(String(Rank, "0") & li, Rank)
 Else
 lNum = li
 End If
 lNewPath = lPath & lName & lDlm & lNum & lExt
 Loop While .FileExists(lNewPath)
 End With
 NextName = lNewPath
 End Function
 
 Function NameCheck(AnyName)
 arrStr = Array(vbNewLine, vbCr, VbCrLf, vbFormFeed, vbLf, vbTab, vbVerticalTab, Chr(13), Chr(10), "\","/","*","?","""",">","<")
 For uu = 0 To Ubound(arrStr)
 nm = InStr(AnyName, arrStr(uu))
 If nm > 0 Then AnyName = Left(AnyName, nm - Len(arrStr(uu)))
 Next
 NameCheck = AnyName
 End Function
 | 
 _________________
 Windows 11 | TC DreamLair eternal pre-α
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Avada 
 
  
 Joined: 01 Aug 2008
 Posts: 10443
 Location: Россия, Саратов
 
 | 
			
				|  (Separately) Posted: Fri May 01, 2015 17:24    Post subject: |   |  
				| 
 |  
				| Поскольку практически все предлагаемые решения — скриптовые, тема переносится в "Автоматизацию". _________________
 Даже самая богатая фантазия
 Не представит себе наши безобразия.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| sa 
 
 
 Joined: 29 Apr 2009
 Posts: 2707
 
 
 | 
			
				|  (Separately) Posted: Sat May 02, 2015 09:43    Post subject: |   |  
				| 
 |  
				| Можно создать (один раз) некое "решето" из тысячи пустых папок, скажем 1…1000. В этом решете выделить энное количество папок (по числу требуемых пустышек).
 Скопировать (F5) в них исходный файл с опцией "Копировать во все выделенные папки/ссылки целевой панели". Затем в решете нажать Ctrl+B, выделить все файлы и перенести их (F6) в нужную папку с опцией "Автоматически переименовывать копируемые файлы".
 
 P.S.
 Если автоматическое переименование TC чем-то не устраивает, после Ctrl+B и выделения всех файлов можно дополнительно использовать инструмент группового переименования – в виде шаблона или на лету.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat May 02, 2015 13:10    Post subject: |   |  
				| 
 |  
				| kdn, добавил в скрипт возможность указания числа в окне. 
 LonerD, на будущее: вот такие параметры "ini" "4" "1" "1" в кавычках не нуждаются. И в коде, конечно, хватает лишнего.
 _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Flasher 
 
  
 Joined: 06 Nov 2009
 Posts: 14229
 Location: Москва
 
 | 
			
				|  (Separately) Posted: Sat May 02, 2015 17:55    Post subject: |   |  
				| 
 |  
				| В скрипте убрал обязательное создание первого элемента после подтверждения ввода имени до ввода числа. _________________
 Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Avada 
 
  
 Joined: 01 Aug 2008
 Posts: 10443
 Location: Россия, Саратов
 
 | 
			
				|  (Separately) Posted: Sat May 02, 2015 19:59    Post subject: |   |  
				| 
 |  
				| sa Flasher
 Хочется продолжать общение в таком духе — пожалуйте в ЛС, а здесь прекращайте. Несколько предыдущих постов либо сокращены, либо удалены.
 _________________
 Даже самая богатая фантазия
 Не представит себе наши безобразия.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |