根据当前名称重命名多个文件
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
变量的值更改为您的路径。
有点推测性的问题,我每天有几个文件需要重命名。我想知道是否可以使用 .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
变量的值更改为您的路径。