이 도구를 사용하여 개발 콘솔 간에 차등 파일 복사를 수행합니다.
xbcopysourcedestination [search_pattern[...]] [options] [/s[:]levels] [/X[:]address[+<accesskey>]] |
옵션 | 설명 |
---|---|
source | 원본 디렉터리 경로 |
destination | 대상 디렉터리 경로 |
search_pattern | 복사할 파일 또는 검색 패턴(와일드카드 * 및 ?가 지원됨)을 지정합니다. 이 매개 변수를 지정하지 않으면 *가 기본값으로 사용됩니다. 검색 패턴은 공백으로 구분되며 파일 링크를 포함할 수 있음(예: xbcopy.exe c:\mysource xD:\console\path *.png *.txt specific_file.json) |
options | 복사, 모드 및 로깅 옵션을 포함하여 xbcopy 명령에서 사용할 옵션을 지정합니다. |
/s:[levels] | 지정된 디렉터리와 모든 하위 디렉터리에 있는 파일을 복사합니다. 수준은 하위 디렉터리 재귀 깊이를 지정하는 옵션 정수입니다. 예를 들어, /s:1은 지정된 디렉터리와 그보다 한 수준 아래의 하위 디렉터리만 처리합니다. /s는 지정되었지만 수준이 지정되지 않은 경우에는 모든 하위 디렉터리가 포함됩니다. |
/X[:]address[+<accesskey>] | - 이 옵션을 사용하여 기본 콘솔을 변경하지 않고 대상 콘솔의 호스트 이름 또는 주소(콘솔에서 도구 IP로 표시)를 지정합니다. 콘솔의 호스트 이름을 설정하는 자세한 방법은 콘솔 IP 주소의 호스트 이름 설정권한 부여 필요을 참조하세요. - 이 옵션을 사용하지 않으면 기본 콘솔(이전에 Connect(xbconnect.exe)권한 부여 필요에서 설정)이 사용됩니다. - accesskey 문자열을 이용해 액세스 키가 있는 사용자만 콘솔에 액세스할 수 있게 합니다. - xbconfig accesskey=your-key 명령을 사용하여 액세스 키를 설정한 다음 콘솔을 다시 시작하여 액세스 키를 유효하게 만듭니다. - 액세스 키로 구성했던 콘솔에 액세스하려면 콘솔의 IP 주소나 호스트 이름 뒤에 더하기 기호(+)와 액세스 키를 포함해야 합니다. - 기본 콘솔이 xbconnect권한 부여 필요(xbconnect.md)로 설정되었을 때 선택키가 제공되면 선택키가 기본 콘솔 주소의 일부로 저장됩니다. - 선택키에 대한 자세한 내용은 xbconfig accesskey권한 부여 필요를 참조하세요. |
/LC | 로캘 코드를 지정합니다. 기본 로캘 코드를 재정의하는 데 사용됩니다. |
복사 모드
복사 모드는 상호 배타적이며 각 복사 작업에 대해 하나만 지정할 수 있습니다. 복사 모드를 지정하지 않으면 도구에서 파일이 수정되었는지 여부를 확인하고 수정된 파일만 복사 작업에 대해 고려됩니다.
옵션 | 설명 | 필터 지원 | 검색 패턴 지원 |
---|---|---|---|
/list | 복사할 모든 파일을 열거하거나 나열하며, 복사 미리 보기로 작동합니다. | 예 | 예 |
/overwrite | 선택한 경우 도구에서 파일이 수정되는지 확인하지 않으므로 모든 파일을 덮어씁니다. | 예 | 예 |
/mirror | 소스에 더 이상 존재하지 않는 대상 파일 및 디렉터리를 삭제합니다. 이 모드를 지정하면 검색 패턴 및 필터 옵션을 지정할 수 없습니다. | 아니요 | 아니요 |
필터 옵션
이러한 옵션을 사용하면 필터를 통해 복사에 포함할 파일 및 디렉터리를 지정할 수 있습니다. 이 도구를 사용하면 다음 두 가지 유형의 필터를 제공합니다.
- On-shell 명령 필터(/exd, /exf/ /ina, /exa)
- JSON 파일 필터(/rules)
옵션 | 설명 |
---|---|
/exf [file-name] […] | 지정된 이름 또는 경로와 일치하는 파일을 제외합니다. 와일드카드 문자 * 및 ? 가 지원됩니다. 예를 들어 xbcopy src dst /s /exf *.png *.data는 png 및 data 확장명이 있는 모든 파일을 제외합니다. |
/exd [directory-name] […] | 지정된 이름 및 경로와 일치하는 디렉터리를 제외합니다. 와일드카드 문자 * 및 ? 가 지원됩니다. 예를 들어 xbcopy src dst /s /exd assets은 이름에 assets이라는 단어가 포함된 디렉터리가 복사되지 않도록 제외합니다. |
/ina:[R][A][S][H] | 지정된 특성이 설정된 파일만 포함합니다. 지원되는 유효한 옵션은 R(읽기 전용), A(아카이브), S(시스템) 및 H(숨김)입니다. |
/exa:[R][A][S][H] | 지정된 특성이 설정된 파일을 제외합니다. 지원되는 제외 유효한 옵션은 R(읽기 전용), A(아카이브), S(시스템) 및 H(숨김)입니다. |
/rules:[file_name] | 온 셸 명령 매개 변수에서 제공하는 보다 강력한 제외/포함 파일/디렉터리 필터링 기능을 제공하는 JSON 파일을 지정합니다. 파일 형식에 대한 자세한 내용은 JSON 규칙 파일 형식 섹션을 참조하세요. |
로깅 옵션
xbCopy는 다음과 같은 로깅 옵션을 제공합니다.
옵션 | 설명 |
---|---|
/nlh | 로깅에 헤더를 포함하지 않습니다. |
/nlc | 로깅에 파일 열 제목을 포함하지 않습니다. |
/nlsi | 로깅에 파일 크기를 포함하지 않습니다. |
/nlst | 로깅에 파일 복사 상태를 포함하지 않습니다. |
/nlsu | 로깅에 요약을 포함하지 않습니다. |
/nlp | 로깅에 복사 진행률을 포함하지 않습니다. |
/nlf | 로깅에 파일 이름을 포함하지 않습니다. |
JSON 규칙 파일 형식
이 파일은 JSON 규칙 개체의 두 배열로 구성됩니다. 필요에 따라 하나 또는 둘 모두를 지정할 수 있습니다. 한 배열에는 복사 작업에서 제외될 파일 또는 디렉터리를 지정하는 규칙이 포함되어 있고, 다른 배열에는 포함할 파일 또는 디렉터리를 지정하는 규칙이 포함되어 있습니다.
고려 사항은 다음과 같습니다.
- 제외하거나 포함할 파일 또는 디렉터리가 각 배열의 규칙 중 하나 이상과 일치해야 합니다.
- 지정된 디렉터리가 제외되면 모든 하위 디렉터리도 제외됩니다.
- 포함 규칙이 지정되지 않은 경우 제외 규칙 중 하나와 일치하지 않는 한 모든 파일 및 디렉터리도 복사본의 일부가 됩니다.
- 제외 규칙이 우선하므로 파일 또는 디렉터리가 포함 규칙과 제외 규칙 모두와 일치하는 경우 제외됩니다.
- 배열 내에서 규칙은 순서대로 적용됩니다. 즉, 배열에서 먼저 정의하는 항목은 먼저 검사되는 항목입니다.
아래에서 JSON 규칙 파일의 일반 구문 형식을 확인할 수 있습니다.
{
"ExcludeRules" : [rule_1, rule_2, rule_3, …, rule_N],
"IncludeRules" : [rule_1, rule_2, rule_3, …, rule_N]
}
규칙 형식
규칙 개체는 검색 패턴(와일드카드 또는 정규식) 및 ApplyTo라는 두 개 이상의 특성으로 구성됩니다. 경로 특성은 선택 사항입니다. 아래에서 각 특성에 대한 설명을 찾을 수 있습니다.
특성 | 설명 | 필수(설명 참조) |
---|---|---|
"와일드카드" | 규칙이 배치된 위치에 따라 포함되거나 제외되도록 파일 또는 디렉터리가 일치해야 하는 야생 문자 검색 패턴을 지정합니다. * 및 ?만 와일드카드 검색 패턴의 일부로 지원됩니다. | 예 |
"Regex" | 규칙이 배치된 위치에 따라 포함 또는 제외로 간주되는 파일 또는 디렉터리가 일치해야 하는 regex 검색 패턴을 지정합니다. | 예 |
"ApplyTo" | 규칙 범위, 즉 규칙이 파일만, 디렉터리만 또는 둘 모두에 적용되는지 여부를 지정합니다. 유효한 값은 "File", "Directory" 또는 "Both"입니다. | 예 |
"Path" | 검색 패턴이 적용되는 경로를 지정합니다. 전체 경로, 상대 경로 또는 단일 이름일 수 있습니다. 이 매개 변수가 제공되지 않으면 전체 경로라고 가정됩니다. 유효한 값은 "Full", "Relative" 또는 "Name"입니다. | 아니요 |
참고: 와일드카드 및 Regex 특성을 동일한 규칙에서 동시에 사용할 수 없으며 규칙당 한 번에 하나씩만 지정할 수 있습니다. 특히 규칙 간에 겹치는 경우 규칙을 정의하고 배치하는 동안 주의해야 합니다.
JSON 규칙 파일 예제
예제 1: 파일 및 디렉터리를 제외하는 규칙 파일 형식입니다.
아래 파일은 다음과 같이 됩니다.
- .xml 및 .exe 확장명이 있는 파일을 제외합니다.
- 이름이 "assets"와 같은 디렉터리를 제외합니다.
{
"ExcludeRules" :
[
{
"Wildcard" : "*.xml",
"ApplyTo" : "File"
},
{
"Wildcard" : "assets",
"ApplyTo" : "Directory",
"Path" : "Name"
},
{
"Regex" : "^.*\\.exe$",
"ApplyTo" : "File",
"Path" : "Name"
}
],
"IncludeRules" : []
}
예제 2: 복사해야 하는 파일 및 디렉터리를 지정하는 규칙 파일 형식입니다.
이 규칙 파일 형식은 .exe 및 .data 확장명이 있는 파일만 복사합니다.
{
"ExcludeRules" : [],
"IncludeRules" :
[
{
"Wildcard" : "*.exe",
"ApplyTo" : "File"
},
{
"Wildcard" : "*.data",
"ApplyTo" : "File"
}
]
}
xbCopy 예제
예 | 설명 |
---|---|
xbcopy c:\mysource xD:\Some\RemoteFolder *.png /s | 단일 검색 패턴 및 모든 하위 디렉터리 |
xbcopy c:\mysource xD:\Some\RemoteFolder *.png /s:2 | 단일 검색 패턴 및 두 개의 하위 디렉터리 깊이 |
xbcopy c:\mysource xD:\Some\RemoteFolder *.png *.txt *.log /s | 여러 검색 패턴 |
xbcopy c:\mysource xD:\Some\RemoteFolder /exd data | 단일 제외 디렉터리 |
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exd databin | 여러 제외 디렉터리 |
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf *.xml | 단일 제외 파일 필터 |
xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf specific_file.ext *.mp? | 여러 제외 파일 |
xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json | json 규칙 파일을 사용하여 필터 적용 |
xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json /list | 목록 복사 모드를 적용하여 복사본 미리 보기 |