CMD 또는 Batch를 사용하여 여러 파일을 하위 폴더에서 하나의 폴더로 이동

Lutfi Creativesys

폴더 구조에있는 하위 폴더에 파일이 있습니다.

D:\Folder_Source  
D:\Folder_Source\file1.txt  
D:\Folder_Source\FolderA  
D:\Folder_Source\FolderA\file1.txt  
D:\Folder_Source\FolderA\file2.txt  
D:\Folder_Source\FolderB  
D:\Folder_Source\FolderB\file3.txt  
D:\Folder_Source\FolderB\file4.txt  
D:\Folder_Source\FolderB\file8.txt

명령 프롬프트 txt에서 각 하위 폴더의 일부 파일 을 이동하고 싶습니다 C:\Destination\.

예를 들어, 내가 이동하려는 파일이 file1.txt, file2.txt, file8.txt, 등

복사중인 원본 폴더와 동일한 이름의 파일이 대상 폴더에있는 경우 두 파일을 모두 유지하고 기존 파일을 덮어 쓰지 않고 싶습니다 .

나는 이것을 시도했지만 실패하고 예상 결과를 얻지 못했습니다.

move /s file1.txt file2.txt file8.txt C:\Destination

명령 줄이나 배치 스크립트에서도 이와 같은 것이 가능합니까?

IT Thug 닌자

배치 스크립트를 사용하여 세 개의 변수를 설정할 수 있습니다. 하나는 특정 파일에 대해 순회 될 루트 소스 디렉토리경로 이고, 두 번째 는 새 파일이 복사 될 대상 경로 이고, 세 번째는 파일입니다. 대상 디렉토리 에 복사하려는 파일 이름 목록 .

이 세 가지 변수를 사용하면 FOR /R루프를 사용 하여 소스 위치를 탐색하고 조건 IF논리를 사용 하여 각 파일에 대해 수행해야하는 복사 또는 삭제 작업에 대해 파일이 이미 존재하는지 여부를 확인할 수 있습니다. 또한 a CALL변수 대체사용 하여 파일 이름의 일부를 다른 루틴에 전달하고 추가 IF논리를 사용 SET /A하여 중복 파일 번호 등을 증가시킬 수 있습니다.


배치 스크립트

@ECHO OFF

SET "source=C:\Folder_Source"
SET "dest=C:\Destination"
SET "FileList=file1.txt file2.txt file8.txt" 

SET "dupCnt=1"

FOR /R "%source%" %%A IN (%FileList%) DO (
    IF NOT EXIST "%dest%\%%~NXA" (
        XCOPY /F /Y "%%~FA" "%dest%\" && IF EXIST "%%~FA" DEL /Q /F "%%~FA"
    ) ELSE (
        CALL :DupeRoutine "%%~FA" "%%~NA" "%%~XA"
        )
    )
GOTO :EOF

:DupeRoutine
IF EXIST "%dest%\%~2_(%dupCnt%)%~3" (
    SET /A dupCnt=%dupCnt%+1
    CALL :DupeRoutine "%~1" "%~2" "%~3"
) ELSE (
    IF NOT EXIST "%dest%\%~2_(%dupCnt%)%~3" ECHO F | XCOPY /Y /F "%~1" "%dest%\%~2_(%dupCnt%)%~3" && DEL /Q /F "%~1"
    SET "dupCnt=1" 
    )
GOTO :EOF

결과

참고 : 중복 파일 이름에 _(#)내가 사용한 것과 다른 명명 규칙을 사용 _(%dupCnt%)하려면 스크립트에서 "%dest%\%~2_(%dupCnt%)%~3"를 사용하려는 다른 형식 으로 변경해야 하지만 %dupCnt%증가 할 숫자입니다. 이 문제에 대해서도 기꺼이 도와 드리겠습니다.

이전 소스

D:\Folder_Source
│   file1.txt
│   file2.txt
│   file4.txt
│   file8.txt
│   file99.txt
├───FolderA
│       file1.txt
│       file2.txt
│       file4.txt
│       file8.txt
│       file99.txt
└───FolderB
        file1.txt
        file2.txt
        file4.txt
        file8.txt
        file99.txt

이후 목적지

C:\Destination
    file1.txt
    file1_(1).txt
    file1_(2).txt
    file2.txt
    file2_(1).txt
    file2_(2).txt
    file8.txt
    file8_(1).txt
    file8_(2).txt

이후 소스

D:\Folder_Source
│   file4.txt
│   file99.txt
├───FolderA
│       file4.txt
│       file99.txt
└───FolderB
        file4.txt
        file99.txt

추가 리소스

  • / R 용
  • 만약
  • XCOPY
  • 요구

  • 일괄 대체 (FOR /?)

    또한 FOR 변수 참조의 대체가 향상되었습니다. 이제 다음과 같은 선택적 구문을 사용할 수 있습니다.

    %~I         - expands %I removing any surrounding quotes (")
    %~fI        - expands %I to a fully qualified path name
    %~nI        - expands %I to a file name only
    %~xI        - expands %I to a file extension only
    
  • 세트

    산술 식 (SET / a)

    "따옴표"에 식을 배치하는 것은 간단한 산술에서는 선택 사항이지만 논리 연산자를 사용하는 모든 식에는 필요합니다.

    모든 SET /A분수 결과를 반환 계산은 가장 가까운 정수 정수로 반올림됩니다.

    평가할 표현식에는 다음 연산자가 포함될 수 있습니다.

    + Add set /a "_num=_num+5"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CMD 또는 Batch를 사용하여 여러 파일을 하위 폴더에서 하나의 폴더로 이동

분류에서Dev

재귀 적으로 폴더를 삭제하는 CMD (예 : 여러 위치에서 동일한 폴더 이름)

분류에서Dev

bat 또는 powershell을 사용하여 파일이있는 폴더를 50MB 하위 폴더로 분할

분류에서Dev

파이썬의 두 목록에서 여러 하위 폴더로 여러 폴더를 만드는 방법

분류에서Dev

변수 이름을 사용하여 pdf 파일을 하위 폴더에서 상위 폴더로 이동

분류에서Dev

폴더에서 여러 파일을로드하고 파일 이름의 일부를 데이터 세트의 열로 사용하는 방법

분류에서Dev

cmd 배치 파일을 사용하여 파일 이름을 다른 폴더로만 복사하는 방법

분류에서Dev

여러 수준의 하위 폴더에서 두 번째 수준의 하위 폴더로 모든 파일 이동

분류에서Dev

php 또는 javascript를 사용하여 폴더에서 페이지로 파일 이름 가져 오기

분류에서Dev

s3cmd를 사용하여 S3에서 대상 폴더의 이름을 설정하는 방법

분류에서Dev

Apps Script를 사용하여 드라이브의 한 폴더에서 다른 폴더로 파일 복사

분류에서Dev

Mac에서 폴더 경로를 사용하여 폴더로 이동하는 방법은 무엇입니까?

분류에서Dev

CMD를 사용하여 이동식 드라이브의 내용을 동일한 드라이브의 폴더로 이동하는 방법은 무엇입니까?

분류에서Dev

여러 파일을 Dropbox 폴더로 이동하는 Alfred Workflow

분류에서Dev

여러 파일을 Dropbox 폴더로 이동하는 Alfred Workflow

분류에서Dev

C #을 사용하여 래더 하위 폴더에서 메인 폴더로 이미지 이동

분류에서Dev

CMD, 소프트웨어 등을 사용하여 폴더에있는 각 파일의 생성 날짜를 자동으로 "마지막 수정"날짜로 설정

분류에서Dev

설치 폴더의 위치에 대해 걱정할 필요없이 bat 파일을 사용하여 설치 폴더 내에서 exe를 실행하는 방법

분류에서Dev

로그 파일에서 문자열을 확인하고 배치를 사용하여 상태에 따라 파일을 다른 폴더로 이동하는 방법

분류에서Dev

경로 목록에서 정규식을 사용하여 파일 또는 폴더를 찾는 방법

분류에서Dev

SharpSsh 및 C #을 사용하여 원격 서버의 한 폴더에서 다른 폴더로 파일을 이동하는 방법

분류에서Dev

파이썬에서 해당 파일 이름의 하위 텍스트를 사용하여 한 폴더에서 다른 폴더로 파일을 복사하는 방법이 있습니까?

분류에서Dev

배치 파일을 사용하여 폴더에 새 하위 폴더를 만들고, 디렉터리의 모든 폴더에 대해 새로 만든 하위 폴더로 파일을 이동합니다.

분류에서Dev

해당 폴더에 나열된대로`ls`를 사용하여 Linux 쉘의 파일을 나열하는 방법

분류에서Dev

한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

분류에서Dev

이동 된 폴더를 사용하여 SVN 하위 폴더에서 GIT로 마이그레이션

분류에서Dev

Java Eclipse를 사용하여 한 폴더에서 다른 폴더로 파일 복사 (오류 핸들러 사용)

분류에서Dev

Linux에서 여러 파일을 여러 폴더로 이동하는 방법은 무엇입니까?

분류에서Dev

Linux에서 여러 파일을 여러 폴더로 이동하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    CMD 또는 Batch를 사용하여 여러 파일을 하위 폴더에서 하나의 폴더로 이동

  2. 2

    재귀 적으로 폴더를 삭제하는 CMD (예 : 여러 위치에서 동일한 폴더 이름)

  3. 3

    bat 또는 powershell을 사용하여 파일이있는 폴더를 50MB 하위 폴더로 분할

  4. 4

    파이썬의 두 목록에서 여러 하위 폴더로 여러 폴더를 만드는 방법

  5. 5

    변수 이름을 사용하여 pdf 파일을 하위 폴더에서 상위 폴더로 이동

  6. 6

    폴더에서 여러 파일을로드하고 파일 이름의 일부를 데이터 세트의 열로 사용하는 방법

  7. 7

    cmd 배치 파일을 사용하여 파일 이름을 다른 폴더로만 복사하는 방법

  8. 8

    여러 수준의 하위 폴더에서 두 번째 수준의 하위 폴더로 모든 파일 이동

  9. 9

    php 또는 javascript를 사용하여 폴더에서 페이지로 파일 이름 가져 오기

  10. 10

    s3cmd를 사용하여 S3에서 대상 폴더의 이름을 설정하는 방법

  11. 11

    Apps Script를 사용하여 드라이브의 한 폴더에서 다른 폴더로 파일 복사

  12. 12

    Mac에서 폴더 경로를 사용하여 폴더로 이동하는 방법은 무엇입니까?

  13. 13

    CMD를 사용하여 이동식 드라이브의 내용을 동일한 드라이브의 폴더로 이동하는 방법은 무엇입니까?

  14. 14

    여러 파일을 Dropbox 폴더로 이동하는 Alfred Workflow

  15. 15

    여러 파일을 Dropbox 폴더로 이동하는 Alfred Workflow

  16. 16

    C #을 사용하여 래더 하위 폴더에서 메인 폴더로 이미지 이동

  17. 17

    CMD, 소프트웨어 등을 사용하여 폴더에있는 각 파일의 생성 날짜를 자동으로 "마지막 수정"날짜로 설정

  18. 18

    설치 폴더의 위치에 대해 걱정할 필요없이 bat 파일을 사용하여 설치 폴더 내에서 exe를 실행하는 방법

  19. 19

    로그 파일에서 문자열을 확인하고 배치를 사용하여 상태에 따라 파일을 다른 폴더로 이동하는 방법

  20. 20

    경로 목록에서 정규식을 사용하여 파일 또는 폴더를 찾는 방법

  21. 21

    SharpSsh 및 C #을 사용하여 원격 서버의 한 폴더에서 다른 폴더로 파일을 이동하는 방법

  22. 22

    파이썬에서 해당 파일 이름의 하위 텍스트를 사용하여 한 폴더에서 다른 폴더로 파일을 복사하는 방법이 있습니까?

  23. 23

    배치 파일을 사용하여 폴더에 새 하위 폴더를 만들고, 디렉터리의 모든 폴더에 대해 새로 만든 하위 폴더로 파일을 이동합니다.

  24. 24

    해당 폴더에 나열된대로`ls`를 사용하여 Linux 쉘의 파일을 나열하는 방법

  25. 25

    한 폴더에서 다른 폴더로 파일을 이동하는 동안 IOException

  26. 26

    이동 된 폴더를 사용하여 SVN 하위 폴더에서 GIT로 마이그레이션

  27. 27

    Java Eclipse를 사용하여 한 폴더에서 다른 폴더로 파일 복사 (오류 핸들러 사용)

  28. 28

    Linux에서 여러 파일을 여러 폴더로 이동하는 방법은 무엇입니까?

  29. 29

    Linux에서 여러 파일을 여러 폴더로 이동하는 방법은 무엇입니까?

뜨겁다태그

보관