king_art

|
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.
До сих пор не уяснил для себя, как при разборе строки параметров Гислер с кавычками работает. |
|
|