| 
 
	
		| View previous topic :: View next topic |  
		| Author | Message |  
		| king_art 
 
  
 Joined: 16 Mar 2025
 Posts: 5
 
 
 | 
			
				|  (Separately) Posted: Sun Mar 16, 2025 15:10    Post subject: Cоздание txt с именем выделенных с добавлением постфикса |   |  
				| 
 |  
				| Уважаемые специалисты, Помогите, пожалуйста,  со скриптом, который бы создавал из выделенных файлов с любым расширением, пустые текстовые файлы с таким же названием и с добавлением постфикса (_nn) на конце*
 *nn = no need
 Например есть выделенные файлы:
 aaa.avi
 bbb.mkv
 ccc.mp4
 После применения скрипта создались бы:
 aaa_nn.txt
 bbb_nn.txt
 ccc_nn.txt
 
 Нашел, что-то похожее от Batya, но надо  в параметрах каждый раз менять расширение для исходных файлов, так же применятся для всех, а не для выделенных, ну и нет постфикса в конце.
 forum.wincmd.ru/viewpost.php?p=14555
 
  	  | Batya wrote: |  	  |  	  | ADv wrote: |  	  | помогите, plz. нужен скрипт, который бы создавал в текущей папке текстовый файл с именем mp3-шки. | 
 
  	  | Code: |  	  | '==========================================================================
' Создание в текущей папке для всех файлов с указанным расширением
 '   аналогичного файла с другим указанным расширением
 
 ' В параметрах вызова из TC должно быть прописано:
 ' "%P" {расширение исходных файлов} {расширение создаваемых файлов}
 ' Пример:
 ' "%P" mp3 txt
 '==========================================================================
 Dim MB
 If WScript.Arguments.Count < 3 Then
 MB = MsgBox("Заданы не все параметры!", vbOKOnly + vbExclamation, "Создание новых файлов")
 WScript.Quit
 End If
 
 Dim FSO, CurrentFolder, Ext1, Ext2, oFolder, oFile, NewFilePath, oNewFile
 Set FSO = CreateObject("Scripting.FileSystemObject")
 
 CurrentFolder = WScript.Arguments(0)
 Ext1          = WScript.Arguments(1)
 Ext2          = WScript.Arguments(2)
 
 If not FSO.FolderExists(CurrentFolder) Then
 MB = MsgBox("Папка " & CurrentFolder & " не существует!", vbOKOnly + vbExclamation, "Создание новых файлов")
 WScript.Quit
 End If
 
 Set oFolder = FSO.GetFolder(CurrentFolder)
 
 For Each oFile in oFolder.Files
 If FSO.GetExtensionName(oFile.Path) = Ext1 Then
 NewFilePath = CurrentFolder & FSO.GetBaseName(oFile.Path) & "." & Ext2
 If not FSO.FileExists(NewFilePath) Then
 Set oNewFile = FSO.CreateTextFile(NewFilePath)
 oNewFile.Close
 End If
 End If
 Next
 
 Set oFolder  = Nothing
 Set oFile    = Nothing
 Set oNewFile = Nothing
 Set FSO      = Nothing
 Wscript.Quit
 | 
 Отослал также на мыло.
 В параметрах кнопки (команды) надо указать 3 параметра, например:
 "%P" mp3 txt
 
 Edit:
 Выяснилось, что %P в параметрах кнопки надо поставить в кавычки. Иначе криво работает, если в пути папок есть пробелы. Спасибо ADv.
 До сих пор не уяснил для себя, как при разборе строки параметров Гислер с кавычками работает.
 | 
 |  |  
		| Back to top |  |  
		|  |  
		| Batya 
 
  
 Joined: 15 Dec 2004
 Posts: 2229
 Location: Москва, Россия
 
 | 
			
				|  (Separately) Posted: Sun Mar 16, 2025 20:00    Post subject: |   |  
				| 
 |  
				| king_art А зачем нужен скрипт? Достаточно инструмента группового переименования (ИГП), где для "Маска для: имя файла" = "[N]_nn", "...расширения" = "txt".
 _________________
 Нет, я не сплю. Я просто медленно моргаю.
 |  |  
		| Back to top |  |  
		|  |  
		| king_art 
 
  
 Joined: 16 Mar 2025
 Posts: 5
 
 
 | 
			
				|  (Separately) Posted: Sun Mar 16, 2025 20:15    Post subject: |   |  
				| 
 |  
				| Batya Скрипт что бы из .avi, .mkv, mp4 и пр типов файлов, создались текстовые файлы (txt) с таким же именем, но сразу с нужным окончанием.
 Так-то, пока конечно, именно групповым переименованием и пользуюсь по маске. Проще б одной кнопкой, если возможно.
 |  |  
		| Back to top |  |  
		|  |  
		| 790 
 
 
 Joined: 09 Aug 2008
 Posts: 338
 
 
 | 
			
				|  (Separately) Posted: Mon Mar 17, 2025 03:29    Post subject: |   |  
				| 
 |  
				| king_art Есть такое решение, но есть и недостаток - с кириллицей у меня не получается:
 1. В Запуск или на кнопку вешаем:
 
  	  | Code: |  	  | 
Команда: cmd.exe /c @echo off &
 Параметры: for /f "delims=" %%i in (%F) do fsutil file createnew "%T%%i" 0 > nul
 
 | 
 (я думаю, этот код можно переделать и для добавления _nn)
 В противоположной панели появятся нулевые файлы, которые были выделены - панели должны быть разными! Потом расширения можно удалить у всех по маске, пустым-то файлам зачем расширения? Или заменить на _nn.
 
 А ещё где-то тут было "Создание файлов по списку", а уж создать такой список легко по Shift+F11.
 _________________
 TC 11.55, Win10x64
 
 Cuda уехал text, он был ещё вчераа...
 |  |  
		| Back to top |  |  
		|  |  
		| Monarch-LFV 
 
  
 Joined: 22 Jul 2019
 Posts: 347
 
 
 | 
			
				|  (Separately) Posted: Mon Mar 17, 2025 14:18    Post subject: |   |  
				| 
 |  
				| king_art 
  	  | Code: |  	  | TOTALCMD#BAR#DATA
cmd /C
 for %%a in ("%S") do (cd.> "%%~dpna_nn.txt")
 WCMICONS.DLL,5
 Создать пустые txt файлы с суффиксом '_nn' для выделенных файлов
 | 
 |  |  
		| Back to top |  |  
		|  |  
		| king_art 
 
  
 Joined: 16 Mar 2025
 Posts: 5
 
 
 | 
			
				|  (Separately) Posted: Mon Mar 17, 2025 15:45    Post subject: |   |  
				| 
 |  
				| Monarch-LFV Спасибо, огромное
 Все работает, это то, что было нужно.
 |  |  
		| Back to top |  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 
 |