많은 수의 파일을 복사하지만 Windows에서는 특정 하위 폴더를 제외합니다.

많은 수의 파일을 복사하지만 Windows에서는 특정 하위 폴더를 제외합니다.

주로 다음과 같은 폴더 구조에 포함된 작업 폴더를 백업하고 싶습니다.

www
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules

모든 프로젝트를 복사해야 하지만 각 프로젝트 내의 node_modules 폴더는 제외해야 합니다. 대량으로 쉽게 처리할 수 있는 방법이 있나요? 처리해야 할 프로젝트가 많기 때문입니다.

윈도우 8.1에서 실행

답변1

모든 프로젝트를 복사해야 하지만 node_modules 폴더는 제외해야 합니다.

xcopy다음 옵션과 함께 사용할 수 있습니다 exclude.

xcopy www backup /exclude:except.txt
  • except.txt제외할 디렉터리 파일 목록이 포함되어 있습니다.

.txt를 제외하고:

node_modules

/EXCLUDE:file1[+file2][+file3]...

  • 각 파일에는 제외할 전체 또는 부분 경로 이름이 하나 이상 포함될 수 있습니다.
  • 이들 중 하나가 SOURCE 파일의 절대 경로의 일부와 일치하면 해당 파일이 제외됩니다.
  • \obj\예를 들어, 또는 같은 문자열을 지정하면 .obj디렉터리 아래의 모든 파일 obj이나 .obj각각 확장명이 있는 모든 파일이 제외됩니다.

원천엑스카피- 파일 및/또는 디렉터리 트리를 다른 폴더에 복사합니다.


추가 읽기

답변2

답변을 주신 @DavidPostill에게 감사드립니다. 그것은 대접을 받았습니다. 그러나 나는 또한 robocopy 작업을 수행했습니다. 도움이 될 수 있는 사람들을 위한 명령은 다음과 같습니다.

robocopy SOURCE DEST /mir /xd node_modules

원본은 복사할 폴더이고 대상은 대상입니다. 그리고 마지막에는 제외할 폴더로 node_modules가 있습니다.

답변3

에서상황별 메뉴"의파일 탐색기" 나는 하나를 추가했다파워셸 스크립트그게 내가 할 수 있게 해줘node_modules 없이 폴더 복제:

여기에 이미지 설명을 입력하세요

수행 방법은 다음과 같습니다.

PowerShell 스크립트 파일을 만듭니다 script.ps1.

$Source=$args[0]
$Position = $Source.lastindexofany("\")
$Destination = $Source.substring(0, $Position + 1)
$FolderName = $Source.substring($Position + 1)
$Destination = "$($Destination)$($FolderName)-DUPLICATE_WITHOUT_NODE_MODULES"
robocopy $Source $Destination /mir /xd node_modules

레지스트리 파일 만들기: (예: Add_Script_To_ContextMenu.reg)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\DupFolderWithoutNodeModules]
@="Duplicate folder without node_modules"

[HKEY_CLASSES_ROOT\Directory\shell\DupFolderWithoutNodeModules\command]
@="C:\\\\Windows\\\\system32\\\\WindowsPowerShell\\\\v1.0\\\\powershell.exe -File \"C:\\Path of_your_script\\script.ps1\" \"%L\""

귀하의 것으로 교체하십시오 C:\\Path of_your_script. 를 두 \배로 늘리는 것을 잊지 마세요 \\.

그런 다음 .reg 파일을 두 번 클릭하세요!

그리고 끝났습니다.

관련 정보