Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок
Не пинайте, если что не так! Я ещё не волшебник, я только учусь! :-)
Проблема в следующем: есть постоянно увеличивающийся набор самораспаковывающихся exe-шников со схожими именами типа Fileconstant1XXXXXXFileconstant2.exe , причём, в именах всех этих файлов, те куски, что обозначены Fileconstant1 и Fileconstant2 , всегда одинаковы для всех файлов, а куски, обозначенные символами XXXXXX , у разных файлов разные. Необходимо распаковать exe-файлы, а из получившейся кучи выбрать файлы .msp и каждый переименовать в соответствии с названием XXXXXX-часи того exe-шника, из которого .msp-файл извлечён. Проблема осложняется тем, что, во-первых, exe-шники должны распаковываться с ключами /Q /C /T:C:\Temp , а во-вторых, файлы .msp внутри разных exe-шников могут иметь одинаковые имена, поэтому, при простом извлечении содержимого всех exe-шников в общую кучу часть .msp файлов затирается. Пытаюсь смастерить для этого дела bat-ник, но нормального результата так и не добился, никак не удаётся создать маску для имени exe-шников и вычленить из них эту XXXXXX. SET Namepath=%C:\Temp SET Namefile0="Fileconstant1??????Fileconstant2.exe" SET Namefile1=%Fileconstant1??????Fileconstant2.exe:~0,13% SET Namefile2=%Fileconstant1??????Fileconstant2.exe:~13,6% SET Namefile3=%Fileconstant1??????Fileconstant2.exe:~-17% SET Namefile4=%Namefile2% @START "%Namefile0% /Q /C /T:C:\Temp" - не работает REM FOR %%s IN (*.exe) DO %%s "/Q /C /T:C:\Temp" - затирает файлы .msp REM FOR %%h IN (%Namepath%\*.msp) DO REN "%Namepath%\%%~nx1" "%Namefile4%.msp" - не работает P.S. Разумеется, в названиях exe-шников XXXXXX заменены на ?????? для маски. |
Nun-Nun
Пример: Код:
@Echo Off |
Maza Faka, большое спасибо за помощь! Попробовал Ваш вариант, вот что получилось: файл .msp, извлечённый из первого exe-шника, нормально извлекается и переименовывается в имя exe-шника, остальные файлы .msp (т.е. извлечённые из других exe-шников) остаются не переименованными и при этом всё равно появляется сообщение о перезаписи одноимённых файлов.
P.S. А что означают ключи /F /Q в команде DEL? Просто почему-то у меня DEL /? ничего не выдаёт, поэтому никак не могу до них добраться. |
Цитата:
/Q Отключение запроса на подтверждение при удалении файлов. |
Сделал вот такое "изобретение", но всё равно переименовывается только перый файл .msp и ещё выдаётся сообщение о том, что "Файл с таким именем уже существует или не найден":
Код:
Set NamePathTemp=C:\Temp\1 |
Решение - в теме Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок
HTML код:
http://forum.oszone.net/thread-139964.html |
Тему можно закрыть! Большое всем спасибо за помощь!
|
Время: 11:36. |
Время: 11:36.
© OSzone.net 2001-