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 

Cоздание txt с именем выделенных с добавлением постфикса

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
king_art



Joined: 16 Mar 2025
Posts: 5

Post (Separately) Posted: Sun Mar 16, 2025 15:10    Post subject: Cоздание txt с именем выделенных с добавлением постфикса Reply with quote

Уважаемые специалисты,
Помогите, пожалуйста, со скриптом, который бы создавал из выделенных файлов с любым расширением, пустые текстовые файлы с таким же названием и с добавлением постфикса (_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
View user's profile Send private message
Batya



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

Post (Separately) Posted: Sun Mar 16, 2025 20:00    Post subject: Reply with quote

king_art
А зачем нужен скрипт? Достаточно инструмента группового переименования (ИГП), где для "Маска для: имя файла" = "[N]_nn", "...расширения" = "txt".
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
king_art



Joined: 16 Mar 2025
Posts: 5

Post (Separately) Posted: Sun Mar 16, 2025 20:15    Post subject: Reply with quote

Batya
Скрипт что бы из .avi, .mkv, mp4 и пр типов файлов, создались текстовые файлы (txt) с таким же именем, но сразу с нужным окончанием.
Так-то, пока конечно, именно групповым переименованием и пользуюсь по маске. Проще б одной кнопкой, если возможно.
Back to top
View user's profile Send private message
790



Joined: 09 Aug 2008
Posts: 332

Post (Separately) Posted: Mon Mar 17, 2025 03:29    Post subject: Reply with quote

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.51, Win10x64

Cuda уехал text, он был ещё вчераа...
Back to top
View user's profile Send private message
Monarch-LFV



Joined: 22 Jul 2019
Posts: 322

Post (Separately) Posted: Mon Mar 17, 2025 14:18    Post subject: Reply with quote

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
View user's profile Send private message
king_art



Joined: 16 Mar 2025
Posts: 5

Post (Separately) Posted: Mon Mar 17, 2025 15:45    Post subject: Reply with quote

Monarch-LFV
Спасибо, огромное
Все работает, это то, что было нужно.
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
Page 1 of 1

 
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