У меня много папок и файлов с одинаковым префиксом и в конце префикса стоит точка, например: ProjectName.Данные
Мне не удалось переименовать с помощью пакетного файла. Я хочу переименовать "ProjectName.*" в пользовательский ввод (который определяет фактическое имя проекта и сохраняет символы после точки) Например. если ввод "newProject", то из ProjectName.Data --> newProject.Data
Я написал:
@echo off
echo What is your project name?
set /p PROJECTNAME=
for /r %%j in (ProjectName.*) do ren "%%j" "%PROJECTNAME%.*"
В чем проблема?
Да, вот так: установить /p PROJECTNAME=
Файлы на самом деле называются БУКВАЛЬНОprojectname.*
или они на самом деле называются <theprojectnameIinputted>.*
?
Файлы и папки имеют имя ProjectName.* Проблема с переименованием папок и не переименованием файлов.
Используйте for /d /r
для выбора каталогов. Оператор ren
должен находиться на той же физической строке, что и оператор do
.
Спасибо, но это не сработало для меня. Я хочу перейти на ввод и сохранить символы после имени проекта, например, для ProjectName.Data (если ввод newProject), чем для newProject.Data
А вы пробовали ren "%%j" "%PROJECTNAME%%%~xj"
?
Вы говорите файлы и папки. Ваши папки также имеют формат PREFIX.SUFFIX
?
for /d /r %%j in (ProjectName.*) DO ren "%%j" "%PROJECTNAME%%%~xj"
работал на меня.
Как вы определяете
%PROJECTNAME%
в своем сценарии?