2017-10-18 12 views
0

何度もファイルを複製する必要があります。新しいファイル名の一部として使用する必要がある製品番号のリストがあります。バッチ処理の名前変更

  1. は、元のファイルは、photo.main.jpg
  2. 私は、製品名は、123、456を言うている
  3. (私は読むためにファイルに置き換えるために名前を入れて期待しています)photo.main.jpgファイルを何度もコピーする必要が
  4. と呼ばれます789番、345番、221番のファイルに置き換えてください。製品名はファイル内の "写真"という言葉に置き換えてください。私は、Windowsのコマンドプロンプトで行うことを期待しています123.main.jpg456.main.jpg789.main.jpg345.main.jpg221.main.jpg

と呼ばれる5つの新しいファイルを望む

  • このシナリオ - 誰かが助けることができますか?

  • +2

    私たちはあなたのためのコードは、私達はちょうど...あなたの既存のコードのお手伝いをすべきではないでしょうか?それらを1つずつ入力してファイルに入れますか? –

    +3

    試したコードを含めてください。 – LW001

    +0

    現代のWindowsシステムにはDOSプロンプトはありません。Windowsのコマンドプロンプトです... – aschipfl

    答えて

    0

    これはcmdシェルで実行できますが、PowerShellでは 正規表現処理にアクセスできるため、非常に柔軟性があります。

    $ replpat regexは、Copy-Itemコマンドの 正規表現に必要なものを提供するものであれば何でもかまいません。 $マッチの使用は必須ではありません。あなたはそれらの製品名を持っていない場合は

    $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 
        } 
    
    関連する問題