根据当前名称重命名多个文件

Renaming multiple files depending on current name

有点推测性的问题,我每天有几个文件需要重命名。我想知道是否可以使用 .bat 或其他简单脚本自动将它们重命名为所需的规范。

示例文件名是: OKS-SABB MT940 MT940-OKS2015-11-26-09.38.18.502511.940

需要更改为: OKS-SABB [日期 -1 天].940

so: OKS-SABB 2015-11-25.940 如果今天是26号。

文件名均符合该格式,只是前缀不同。 例如

OKA-SABB MT940 MT940-OKS2015-11-26-09.38.18.502511.940

OKB-SABB MT940 MT940-OKS2015-11-26-09.38.18.502511.940

OKS-SABB MT940 MT940-OKS2015-11-26-09.38.18.502511.940

名称更改中需要保留前缀。

现在,这可能/可行吗?如果是,我将如何执行它?

感谢您的帮助,

这应该可以完成工作。 通常,我们不会只为那些不亲自尝试任何事情的人编写代码。但我今天过得很好,所以为什么不呢。

$Path = "C:\Install\test"
$Date = ((Get-Date).AddDays("-1").ToString('yyyy-MM-dd'))
$Files = gci $Path -Filter *.940 | ForEach {
    $Prefix = $_.Name.Split('-')[0]
    Rename-Item -Path $_.FullName -NewName "$Prefix-SABB-$Date.940"
}

只需将其复制到文本文件中并将其另存为 RenameFiles.ps1 并从中制作计划任务或任何您想要的内容。

$Path 变量的值更改为您的路径。