Редактирование имен подпапок - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь создать пакетный файл, в который отправляю папку, используя right-click => sendto, создавая две новые папки в том же каталоге, что и папка, которую я отправил в пакетный файл.Две новые папки будут копиями папки, которую я отправил в пакетный файл, названный по имени двух переменных ввода пользователя, скажем, A и B. Я хочу, чтобы подпапки в этих двух папках также добавляли к ним A и B.Test (Existing Folder sent to batch file) -> TestA(New Folder) and TestB(new folder).Затем TestA(new folder)\M1234567.D(subfolder) -> TestA(new folder)\M1234567A.D(renamed subfolder) и то же самое происходит с TestB(new Folder) и его подпапками.

Пример: A и B добавляются в папку test, чтобы стать testA иtestB.Мне нужно, чтобы все содержимое папки также было скопировано в две другие папки.У меня эта часть работает с robocopy.Часть, с которой я борюсь, - это добавление всех подпапок в двух новых папках, чтобы добавить ту же букву, что и добавленная родительская папка.

Так, например, значение \testA\M1234567.D было изменено на \testA\M1234567A.D и testB\M1234567 изменено на testB\M1234567B.D.

Подпапки в двух вновь скопированных папках будут содержать подпапки с .D в конце.Поэтому, чтобы удостовериться, что это единственные элементы, в которые добавляются входные данные, я специально добавил .D в конце переименования.

Вот что я сделал до сих пор:

@ECHO off
cd /d %1
setlocal EnableDelayedExpansion
set appendLetter=ABCDEFG

SET /p appendLetter1="Enter the first letter you wish to append to the end of the Data Files: "
SET /p appendLetter2="Enter the second letter you wish to append to the end of the Data Files: "
if NOT "%appendLetter1%"=="ABCDEFG" (

ROBOCOPY "%1" "%1%appendLetter1%" /mir
ROBOcopy "%1" "%1%appendLetter2%" /mir

cd /D D:\MassHunter\Data\%1%appendLetter1%

Rename "???????.D" "???????%appendLetter1%.D"
cd /D D:\MassHunter\Data\"%1%appendLetter2%"

Rename "???????.D" "???????%appendLetter2%.D"

)
...