Переименование файлов при перемещении в другую папку

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Lari
Сообщения: 30
Зарегистрирован: Пн мар 12, 2007 10:52

Переименование файлов при перемещении в другую папку

Сообщение Lari »

Здравствуйте.

Подскажите пожалуйста как можно с помощью скрипта на VB переименовать файл.

Имеется готовый скрипт, который перемещает файл под курсором в папку с именем расширения файла. Как после перемещение изменить расширение файла на другое?

Код: Выделить всё

If WScript.Arguments.Count = 0 Then
MsgBox "Не указаны параметры!", vbOKOnly + vbError, "Внимание!"
Wscript.Quit
End If

Dim TempFile, FSO, SelFile

Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), 1)

Dim FileName, FilePath, DashInName, NewFilePath
Do While Not TempFile.AtEndOfStream
Set SelFile = FSO.GetFile(TempFile.ReadLine)
FileName = FSO.GetExtensionName(SelFile)
FilePath = SelFile.ParentFolder
If WScript.Arguments.Count > 1 Then
NewFilePath = WScript.Arguments(1) & FileName
Else
NewFilePath = FilePath & "\" & FileName
End If
If Not FSO.FolderExists(NewFilePath) Then
FSO.CreateFolder(NewFilePath)
End If
If Not FSO.FileExists(NewFilePath & "\" & FileName) Then
FSO.MoveFile SelFile, NewFilePath & "\"
Else
MsgBox "Уже существует файл " & FileName & " в папке " & NewFilePath, vbOKOnly + vbExclamation, "Внимание!"
End If
Loop
Set TempFile = Nothing
Set FSO = Nothing
Set SelFile = Nothing
Wscript.Quit

Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Например, так:

Код: Выделить всё

FSO.GetFile(NewFilePath & "\" & FileName).Name = FSO.GetBaseName(NewFilePath & "\" & FileName) & ".txt"
Хотя, в твоем случае проще для метода MoveFile вторым параметром указывать не просто путь, а путь с новым именем файла.
Lari
Сообщения: 30
Зарегистрирован: Пн мар 12, 2007 10:52

Сообщение Lari »

Спасибо
Ответить