xcopy не поддерживает подстановочные знаки в именах каталогов. Поэтому для контура дополнительно необходимо для выполнения этой задачи, которая заключается в следующем:
В папке C:\Temp
есть пакетный файл DuplicateFolder.bat
на код ниже.
Папка для дублирования: DATA\test
в каталоге командного файла.
C:\Temp\DATA\test
содержит:
- SubFolder1
- FirstFile.txt
- Второй File.txt
- Sub Folder 2
- Readme.txt
Все эти вложенные папки и файлы должны быть скопированы в каждый вложенную %APPDATA%\Application1\Directory
заканчивающегося числа после точки.
%APPDATA%\Application1\Directory
содержит, например:
- Папка abc.1
- Папка eg.2
- Папка ч до k.3
- Папка last.4
- Папка не изменилась
Последняя папка должна быть проигнорированы, поскольку он не содержит точку и число в конце.
Результат должен быть, например, для первой вложенной Folder abc.1
:
- Папка ABC.1
- SubFolder1
- FirstFile.txt
- Второй File.txt
- Sub Folder 2
- Readme.txt
Кодекс DuplicateFolder.bat
является:
@echo off
set "SourceFolder=%~dp0DATA\test"
for /D %%F in ("%APPDATA%\Application1\Directory\*") do (
if not "%%~xF" == "" %SystemRoot%\System32\xcopy.exe "%SourceFolder%" "%%~F" /E /C /Q /R /I /K /Y >nul
)
set "SourceFolder="
Этот пакетный файл просто проверяет, если имя папки содержит точку без проверки, если строка после запятой - «расширение файла» с привязкой %%~xF
- действительно номер. Этот очень простой тест очень быстрый.
Для получения подробной информации о используемой команде для и объяснение параметров и специальных петли переменных ссылок открыть окно командной строки, выполнить for /?
и чтение вывода справки для этой команды в окне консоли.
Каков критерий для выбора этой папки назначения? Если вы используете подстановочные знаки, может быть более одного совпадения. Должен ли он быть недавно созданным или последним, или ...? – user1016274
процесс создает 100 папок, структура имен папок - NAME.ID. ID легко, от 1 до 100 для всех 100 папок, но имя меняется. Мне нужно добавить каталог (содержащий настройки) ко всем папкам NAME.ID, но не нужно копировать имена, но может скопировать строку в excel или что-то еще и реплицировать все 100 восходящих чисел. Надеюсь, это поможет объяснить немного лучше – Raine