批处理重命名

时间:2017-10-18 07:52:00

标签: file batch-file cmd rename

我需要多次复制文件我有一个产品编号列表,需要用作新文件名的一部分 - 例如;

  1. 名为photo.main.jpg
  2. 的原始文件
  3. 我需要多次复制photo.main.jpg文件(我希望将这些名称替换成文件来阅读)
  4. 我在文件中有产品名称123,456,789,345,221,产品名称必须替换文件中的“photo”。
  5. 这个场景我想要5个名为123.main.jpg456.main.jpg789.main.jpg345.main.jpg221.main.jpg
  6. 的新文件

    我希望在Windows命令提示符下做 - 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

虽然这可以在cmd shell中完成,但PowerShell提供了访问权限 正则表达式处理可以使它非常灵活。

$ replpat正则表达式可以是提供内容的任何东西 复制项命令中的正则表达式需要。不需要使用$ 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
    }