|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Редактирование текста названия |
|
|
Любой язык - [решено] Редактирование текста названия
|
Ветеран Сообщения: 1014 |
Профиль | Отправить PM | Цитировать Есть ли возможность с помощью скрипта реализовать такую задачу :
Есть группа файлов, много.Файлов много, руками долго и нудно... Необходимо редактирование названия фалов, путём удаления части текста из названия. Эта часть текста у всех файлов одинаковая. Например: Нужно удалить у группы файлов выделенную часть текста. выделенное курсивом - оставить. И так во всех файлах. Подскажите пожалуйста как сделать. З.Ы. Если возможно - желательно пакетным файлом (bat/cmd) |
|
Отправлено: 09:45, 01-07-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать Самый простой способ
*для случаев когда первая часть имени разная, но содержит одинаковое число символов, например 45fad7da5dfr7eyr4tr7gfr. name.* Echo off&Chcp 866&SetLocal EnableDelayedExpansion set $DSF=F:\dr_0014\*.bmp & rem папка с твоими файлами и тип файла for /f %%a in ('Dir /b %$DSF%') do (set $SFN=%%a & ren !$SFN! !$SFN:~19! ) rem "~19" число первых символов в имени под обрезку pause endlocal & goto :eof *с указанием заменяемого текста в имени файлов |
Последний раз редактировалось deepred, 01-07-2010 в 11:08. Отправлено: 10:28, 01-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:34, 01-07-2010 | #3 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать deepred, El Sanchez, спасибо буду пробовать. Потом отпишусь.
Единственное ,El Sanchez, не понятно в Вашем скрипте , где часть текста , которая удаляется ! Эта , выделенная ? : @Echo Off Set Source=C:\Source\*.bmp For %%A In ("%Source%") Do ( For /F "Tokens=4 Delims=_" %%B In ("%%A") Do ( Ren "%%A" %%B.bmp ) ) deepred, попробовал Ваш второй скрипт. Вот... Видимо я что-то не так делаю. |
Отправлено: 17:46, 02-07-2010 | #4 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата shao:
Цитата shao:
|
|||
Отправлено: 20:55, 02-07-2010 | #5 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать El Sanchez, Отлично ! Спасибо за скрипт и за подробное разъяснение !
А как будет выглядеть скрипт , если отсутствует разделительный знак "_" ? Например: Shell32.backup USERTILEBACKGROUND.bmp |
Отправлено: 00:04, 03-07-2010 | #6 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать такая же тема, но *****.vbs
Option Explicit Dim objFSO, objFile Dim strPath2SourceFolder, strSourceName Dim intPrefix, strobjFileName, strobjFileExtension Dim intErrLevel strPath2SourceFolder = "F:\2\part_name\dir_0014" strSourceName="luna_msstyles_BLUE_" intPrefix = Len(strSourceName) intErrLevel = 0 Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") If objFSO.FolderExists(strPath2SourceFolder) Then For Each objFile In objFSO.GetFolder(strPath2SourceFolder).Files If UCase(Left(objFile.Name, intPrefix)) = UCase(strSourceName) Then strobjFileName = Replace(objFSO.GetBaseName(objfile.Name), strSourceName, "",1) strobjFileExtension = Mid(objFSO.GetExtensionName(objFile.Name),1) objFile.COPY strPath2SourceFolder & "\" & strobjFileName & "." & strobjFileExtension objFile.Delete End If Next Else WScript.Echo "Source folder [" & strPath2SourceFolder & "] is not exists." intErrLevel = 1 End If Set objFSO = Nothing WScript.Quit intErrLevel Echo on&Chcp 866&SetLocal EnableDelayedExpansion&cls set $DSF=F:\2\part_name\dir_0014\*.bmp set del1=luna_msstyles_BLUE_ set del2=_BMP for %%a in ("%$DSF%") do call :action "%%a" "%%~nxa" pause & goto :eof :action set $SFN=%~1 && set $SFNn=%~2 && set $SFNn=!$SFNn:%del1%=! && set $SFNn=!$SFNn:%del2%=! ren %$SFN% %$SFNn% endlocal & goto :eof |
Последний раз редактировалось deepred, 03-07-2010 в 02:52. Отправлено: 02:13, 03-07-2010 | #7 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать Цитата deepred:
Цитата deepred:
, а остаётся... Удаляемая часть названия не есть сплошная, а разделена , собственно самим названием , которое нужно оставить.... |
||
Отправлено: 02:40, 03-07-2010 | #8 |
Ветеран Сообщения: 1014
|
Профиль | Отправить PM | Цитировать Цитата deepred:
Вопрос решён. |
|
Отправлено: 09:18, 03-07-2010 | #9 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата shao:
|
|
Отправлено: 10:44, 03-07-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Почта - Редактирование простого текста | Сергей_на_зоне | Программное обеспечение Windows | 6 | 08-04-2010 12:58 | |
Названия инструментов, ПО.. | M1sha | Хочу все знать | 2 | 25-08-2009 21:43 | |
[решено] Редактирование статического текста во Flash | Spartaker | Вебмастеру | 2 | 10-09-2008 03:32 | |
Муз. файлы и их названия | united | Хочу все знать | 1 | 14-04-2007 13:52 | |
Сохранение названия CD в Windows | garober | Microsoft Windows 95/98/Me (архив) | 4 | 11-01-2005 10:14 |
|