Я работаю с ClearCase, и я хотел бы использовать пакетный скрипт для запуска текстового файла, созданного с помощью команд cleartool, скопировать файл, указанный в строке, но затем выполнить переименование, только извлекая подстроку до указанного набора символов .
Пример текстового файла:
"M:\LEVEL1\PROJECT\src\ROOT\file 2.txt@@\main\LEVEL1\5"
"M:\LEVEL1\PROJECT\src\ROOT\file 1.txt@@\main\LEVEL1\3"
"M:\LEVEL1\PROJECT\src\ROOT\folder 1\file 5.txt@@\main\LEVEL1\2"
"M:\LEVEL1\PROJECT\src\ROOT\file 4.txt@@\main\LEVEL1\3"
"M:\LEVEL1\PROJECT\src\ROOT\file 7.txt@@\main\LEVEL1\2"
Что я хотел бы сделать, так это создать команду, которая выглядит так (используя первую строку):
xcopy "M:\LEVEL1\PROJECT\src\ROOT\file 2.txt@@\main\LEVEL1\5" "<output folder>\LEVEL1\PROJECT\src\ROOT\file 2.txt"
где <output folder>
— это папка, которая указывается в качестве параметра при запуске скрипта. Итак, в основном я прошу извлекать только то, что находится между M:
и @@
в каждой строке по мере ее чтения, чтобы я мог использовать это в команде копирования.
У меня уже есть xcopy "%%~fA" "%OUTPUTDIR:"=%\%%~pnxA"
, который копирует строку в выходной каталог, но %%~pnxA
удалит только букву диска, а не оставшуюся часть строки, начиная с @@
.
Это возможно?
for /F "tokens=1,2,3 delims=:@" %%A in (in.txt) do echo xcopy %%A:%%B@@%%C DIR:%%B
- person JJRhythm   schedule 28.01.2013