Переименование файлов при перемещении в другую папку
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Автоматизация Total Commander

#1: Переименование файлов при перемещении в другую папку Author: Lari PostPosted: Sun Aug 05, 2007 12:42
    —
Здравствуйте.

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

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

Code:

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


#2:  Author: BatyaLocation: Москва, Россия PostPosted: Mon Aug 06, 2007 14:20
    —
Например, так:
Code:

FSO.GetFile(NewFilePath & "\" & FileName).Name = FSO.GetBaseName(NewFilePath & "\" & FileName) & ".txt"


Хотя, в твоем случае проще для метода MoveFile вторым параметром указывать не просто путь, а путь с новым именем файла.

#3:  Author: Lari PostPosted: Mon Aug 13, 2007 21:12
    —
Спасибо



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group