주로 다음과 같은 폴더 구조에 포함된 작업 폴더를 백업하고 싶습니다.
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
각각 확장명이 있는 모든 파일이 제외됩니다.
원천엑스카피- 파일 및/또는 디렉터리 트리를 다른 폴더에 복사합니다.
추가 읽기
- Windows CMD 명령줄의 AZ 인덱스- Windows cmd 라인과 관련된 모든 것에 대한 훌륭한 참고 자료입니다.
답변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 파일을 두 번 클릭하세요!
그리고 끝났습니다.