2017-10-18 4 views
0

여러 번 파일을 복제해야합니다. 새 파일 이름의 일부로 사용해야하는 제품 번호 목록이 있습니다. 예를 들면 다음과 같습니다.일괄 처리 이름 바꾸기

  1. 은 원본 파일은 photo.main.jpg
  2. 내가 제품명은 123, 456 말을 한
  3. (I 읽고 파일에 대체 할 이름을 넣어 바라고)을 photo.main.jpg 파일을 여러 번 복사해야
  4. 라고 789, 345, 221을 사용하고 파일에서 제품 이름이 "photo"단어를 대체해야합니다. 나는 Windows 명령 프롬프트에서 할 바라고 123.main.jpg, 456.main.jpg, 789.main.jpg, 345.main.jpg221.main.jpg

라는 5 개 개의 새 파일을 원하는 것이

  • 이 시나리오 - 누군가가 도와 드릴까요?

  • +2

    당신을 위해 코드하면 안됩니다. 기존 코드에서 당신을 도울 것입니다 ... 그 제품 이름은 어디에 있습니까? 파일을 하나씩 입력 하시겠습니까? –

    +3

    시도한 코드를 포함하십시오. – LW001

    +0

    현대 Windows 시스템에는 DOS 프롬프트가 없습니다. Windows 명령 프롬프트입니다 ... – aschipfl

    답변

    0

    이 작업은 cmd 셸에서 수행 할 수 있지만 PowerShell에서는 정규식 처리를 통해 매우 유연하게 처리 할 수 ​​있습니다.

    $ replpat regex는 Copy-Item 명령에서 정규식에 필요한 것을 제공하는 모든 것이 될 수 있습니다. $ matches 사용은 필요하지 않습니다.

    $orgfile = 'photo.main.jpg' 
    $prodfile = '.\prodlist.txt' 
    $replpat = '[^\.]*(.*)' 
    
    $ismatch = $orgfile -match $replpat 
    $filebase = $matches[1] 
    
    Get-Content -PSPath $prodfile | 
        ForEach-Object { 
         Copy-Item -Path $orgfile -Destination "$_$filebase" -WhatIf 
        } 
    
    관련 문제