批处理重命名
问题描述:
我需要多次复制文件我有一个需要用作新文件名的一部分的产品编号列表 - 例如;批处理重命名
- 原始文件名为
photo.main.jpg
- 我需要复制
photo.main.jpg
文件多次(我希望把名字中的一个文件来替代阅读) - 我有产品名称,说123,456, 789,345,221,并且产品名称必须替换文件中的“照片”一词。
- 这种情况下我想5个名为
123.main.jpg
,456.main.jpg
,789.main.jpg
,345.main.jpg
和221.main.jpg
新的文件,我希望能在Windows命令提示符的事 - 有人可以帮忙吗?
答
虽然这可以在cmd shell中完成,但PowerShell提供对 正则表达式处理的访问,可以使其非常灵活。
$ replpat正则表达式可以是任何提供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
}
我们不应该为您编码,我们只是应该在您现有的代码中提供帮助......您有哪些产品名称?你会一个一个地输入它们吗,在一个文件中,...? –
请包含您尝试过的代码。 – LW001
现代Windows系统中没有DOS提示符,它是Windows命令提示符... – aschipfl