Показать полную графическую версию : [решено] Переименовывание файла. В пути есть пробелы.
Как можно переименовать файл? В пути к файлу есть пробелы.
REN C:\Program Files\IVT Corporation\BlueSoleil\setup.dll 1.dll
Вот так не получается.
Подскажите, пожалуйста, решение.
С уважением, Константин.
Petya V4sechkin
09-07-2009, 10:38
starzkv, возьмите в кавычки.
REN "C:\Program Files\IVT Corporation\BlueSoleil\setup.dll" "1.dll"
Спасибо огромное. Помогло. Что то я упустил это из виду.
Еще раз спасибо.
С уважением, Константин.
Не хочу создавать новую тему, вопрос такой:
как мне переименовать
ren *.msi [имя исполняемого файла].msi
, скажем чтобы выдался запрос на переименовывание любого *.msi пакета в *.msi пакет с заданным именем, либо это тянулось скажем с текстового файла.
На сколько я понял это можно все реализовать через команду dir и цикл но я не очень пока это представляю, в целом хочется чтобы новое имя *.msi пакета было такое же как и у *.cmd в котором будет переименовывание. Например есть "этомсипакет.msi", имя *.cmd (pack.cmd), и команда по типу ren переименует этомсипакет.msi в pack.msi
SendMessage
08-02-2011, 07:28
хочется чтобы новое имя *.msi пакета было такое же как и у *.cmd в котором будет переименовывание »
Не очень понятна постановка задачи.
Внутри батника-то можно это прописать.
ren этомсипакет.msi %~n0.msi
zeroua, так?::Папка, где ищем .msi файл (он должен быть один, иначе все файлы должны быть переименованы в одно имя!!!)
Set folder=My folder
For %%i In ("%folder%\*.msi") Do Del /Q "%~n0.msi" & Ren "%%~i" "%~n0.msi"
есть кусочек скрипта он работает так как надо, но не так как я хочу:
ren *.msi %~n0.msi
MD %~dpn0
msiexec /a %~n0.msi /qn TARGETDIR="%~dpn0"
Мне бы хотелось чтобы в данном случае все работало даже если в папке 2 *.msi пакета, их отличие будет лишь в числах 32 и 64.Нужно чтобы 32-х битный пакет сделал административную установку в папку [name32], а 64-х в [name64], но при такой конструкции мне желаемого результата не достигнуть.
name это имя исполняемого файла(*.cmd ).
zeroua
1 Приведите конкретные имена .msi файлов и их расположение относительно батника
2 В чем смысл их переименования при создании админ. точки? Чем не устраивают родные имена .msi файлов?
3 Эти имена являются фиксированными или они могут быть разными при запуске скрипта (приведите возможные варианты)?
2 gora
1. 4 стандартных имени, если скачаны они с офф сайта. (2 для х32 и 2 для х64) eav_nt32_rus.msi; eav_nt64_rus.msi; ess_nt64_rus.msi, ess_nt32_rus.msi, но названия могу быть и другими, по поводу расположения, лучше скажем чтобы пакеты лежали в папке (downloads), ну а батник выше уровнем(как-то так)
2. привожу их к формату 8.3 (привычка приводить имена пакетов к формату 8.3)
3. нагляднее когда фиксированные названия, имхо.
zeroua, так?
@Echo Off
SetLocal enabledelayedexpansion
:: Папка, где ищем .msi файлы
Set folder=My folder
:: Новые имена файлов (впишите какие нравятся)
:: Новые имена не должны содержать сочетаний символов по которым
:: производится поиск оригинальных имен, а именно: eav_ ess_ t32
Set NewName1=EAVx86ru
Set NewName2=EAVx64ru
Set NewName3=ESSx86ru
Set NewName4=ESSx64ru
For %%i In ("%folder%\*.msi") Do (
Set ti=%%~ni
If Not "!ti:eav_=!"=="!ti!" If Not "!ti:t32=!"=="!ti!" (Call :_ren "%%i" "%NewName1%") Else Call :_ren "%%i" "%NewName2%"
If Not "!ti:ess_=!"=="!ti!" If Not "!ti:t32=!"=="!ti!" (Call :_ren "%%i" "%NewName3%") Else Call :_ren "%%i" "%NewName4%"
)
Exit
:_ren
Del /Q "%~2.msi"
Ren %1 "%~2.msi"
GoTo :EOF
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.