|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Переименовать файл, не затрагивая его расширение - имя из буфера |
|
VBS/WSH/JS - Переименовать файл, не затрагивая его расширение - имя из буфера
|
Новый участник Сообщения: 6 |
Привет. Нашел в теме скрипт, но он переименовывает файл полностью, что убирает расширение. Скажите, пожалуйста, как переименовать с сохранением расширения файла?
Скрытый текст
Option Explicit Dim strSourceObject Dim strSourceFolder Dim strSourceFile Dim strDestObject If WScript.Arguments.Count = 1 Then With WScript.CreateObject("Scripting.FileSystemObject") strSourceObject = .GetAbsolutePathName(WScript.Arguments.Item(0)) If .FolderExists(strSourceObject) Then strSourceFolder = strSourceObject strDestObject = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text")) If Len(strDestObject) > 0 Then If Not StrComp(strSourceFolder, strDestObject, vbTextCompare) = 0 Then .MoveFolder strSourceFolder, strDestObject Else WScript.Echo "Need new name of folder." WScript.Quit 4 End If Else WScript.Echo "User cancel input." WScript.Quit 3 End If ElseIf .FileExists(strSourceObject) Then strSourceFile = strSourceObject strDestObject = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text")) If Len(strDestObject) > 0 Then If Not StrComp(strSourceFile, strDestObject, vbTextCompare) = 0 Then .MoveFile strSourceFile, strDestObject Else WScript.Echo "Need new name of file." WScript.Quit 4 End If Else WScript.Echo "User cancel input." WScript.Quit 3 End If Else WScript.Echo "Can't find source file system object [" & WScript.Arguments.Item(0) & "]." WScript.Quit 2 End If End With Else WScript.Echo "Usage: wscript.exe """ & WScript.ScriptName & """ <Source file system object>" WScript.Quit 1 End If WScript.Quit 0 |
|
Отправлено: 14:02, 11-12-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Dexter VVM, там иное.
Опишите полностью, что Вам нужно. |
Отправлено: 15:16, 11-12-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska, нужен пункт в контекстном меню файлов и папок "дать имя из буфера", которой запускает скрипт, меняющий имя файла на текст из буфера обмена и не меняющий/убирающий его расширение. Приведённый скрипт из другой темы переименовывает файл полностью, удаляя расширение.
|
Отправлено: 17:12, 11-12-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Dexter VVM, ясно. Не знаю, как Вам, а по мне F2, Shift-Insert, Enter всяко быстрее выбора из контекстного меню.
Но держите: Скрытый текст
Option Explicit
Dim strSourceFile
Dim strNewName
If WScript.Arguments.Count = 1 Then
With WScript.CreateObject("Scripting.FileSystemObject")
strSourceFile = .GetAbsolutePathName(WScript.Arguments.Item(0))
If .FileExists(strSourceFile) Then
strNewName = Trim(WScript.CreateObject("htmlfile").parentWindow.clipboardData.getData("text"))
If Len(strNewName) > 0 Then
If Not StrComp(strSourceFile, strNewName, vbTextCompare) = 0 Then
.MoveFile strSourceFile, strNewName & "." & .GetExtensionName(strSourceFile)
Else
WScript.Echo "Need new name of file."
WScript.Quit 4
End If
Else
WScript.Echo "User cancel input."
WScript.Quit 3
End If
Else
WScript.Echo "Can't find source file [" & WScript.Arguments.Item(0) & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: wscript.exe """ & WScript.ScriptName & """ <Source file>"
WScript.Quit 1
End If
WScript.Quit 0
|
Отправлено: 20:47, 11-12-2020 | #4 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Iska, спасибо. Из контекстного меню привычнее.
|
|
Отправлено: 03:58, 12-12-2020 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] переименовать файл - имя из буфера | kuzmakzrezv1 | Скриптовые языки администрирования Windows | 24 | 13-01-2019 19:24 | |
CMD/BAT - [решено] вставить в файл, его имя | talmachka | Скриптовые языки администрирования Windows | 10 | 03-10-2015 07:03 | |
CMD/BAT - [решено] Как записать информацию из буфера обмена в файл тхт батником? | angel_lyucifer | Скриптовые языки администрирования Windows | 12 | 26-12-2012 17:22 | |
CMD/BAT - [решено] найти файл и использовать его имя | Mad Max | Скриптовые языки администрирования Windows | 4 | 19-07-2009 23:13 | |
Как переименовать имя аккаунта в XP с изменением имени его папки и других файлов. | Alikber | Microsoft Windows 2000/XP | 4 | 06-03-2006 00:15 |
|