1

Я пытаюсь написать командный файл для копирования содержимого папки с путем C:\ABC в другую папку, точное имя которой неизвестно (это папка с данными профиля в Firefox)

Профили Firefox создаются в папке %APPDATA%\Mozilla\Firefox\Profiles\ и именуются случайным образом при создании Firefox.

с первыми 8 символами, сопровождаемыми "." & затем имя профиля мы установили

Например: tx1e6sq7.ABC или 3dnwu536.XYZ

Мне нужно выяснить, какое полное имя папки с именем профиля, оканчивающимся на ABC, чтобы я мог скопировать содержимое в нее

PS Мне также нужно удалить текущее содержимое этого профиля, заканчивающегося ABC, прежде чем копировать новое содержимое. Дайте мне знать команду для этого, если это возможно

2 ответа2

3

После еще нескольких поисков я решил это сам, используя следующие команды:

set parentfolder=%APPDATA%\Mozilla\Firefox\Profiles\
for /f "tokens=*" %%a in ('"dir /b "%parentfolder%"|findstr ".*\.ABC""') do set folder=%%a

Для удаления содержимого я использовал:

RMDIR "%APPDATA%\Mozilla\Firefox\Profiles\%folder%" /s /q
mkdir "%APPDATA%\Mozilla\Firefox\Profiles\%folder%"
0

Удалите содержимое папки, перейдя по этой ссылке.

Затем скопируйте данные с помощью этой команды:
xcopy "C:\ABC\*" "%APPDATA%\Mozilla\Firefox\Profiles\*.*" /i /h /s
/ я говорю, что это папка / ч копирует скрытые файлы
/ s копирует подпапки

Однако это предполагает, что в каталоге есть только одна папка профиля. Если имеется несколько папок профиля, и вам известна часть имени профиля, в которую вы хотите скопировать файлы, вы можете изменить *.* помощью (например) *.ABC

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .