Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 根据当前名称重命名多个文件_Powershell_Batch File_Automation_File Rename_Batch Rename - Fatal编程技术网

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

Powershell 根据当前名称重命名多个文件,powershell,batch-file,automation,file-rename,batch-rename,Powershell,Batch File,Automation,File Rename,Batch Rename,这是一个推测性的问题,我每天都有几个文件需要重命名。我想知道是否有可能使用.bat或其他简单的脚本自动将它们重新命名为所需的规范 文件名示例如下: OKS-SABB MT940 MT940-OKS2015-11-26-09.38.18.502511.940 需要更改为: OKS-SABB[日期-1天].940 所以:OKS-SABB 2015-11-25.940如果今天是26号 文件名都符合该格式,只是前缀不同。 e、 g OKA-SABB MT940 MT940-OKS2015-11-26-0

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

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

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

所以:OKS-SABB 2015-11-25.940如果今天是26号

文件名都符合该格式,只是前缀不同。 e、 g

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
变量的值更改为您的路径。

那么为什么不在空格上使用替换,然后使用通配符,并用
获取日期
函数替换它呢?你知道怎么做吗?不,我不是一个专业的编码员,只是知道足够的零碎东西。我将如何进行替换->获取日期?顺便说一句,我从未使用过PowerShell,但它似乎适用于找到查询的解决方案。好的,
.940
是文件扩展名吗?或者出于某种原因需要它出现在那里?有时候写问题比使用搜索引擎要花更长的时间:@JMcNamara除非你有一些特殊的平台限制,这种需要最好用Python/Perl/Ruby/等语言来完成,这样它几乎可以在每一个操作系统平台上工作(GNU/Linux、OS X、Linux、BSD等),如果您移动到其他平台,您不必重写它。如果您重新编辑您的问题,使其更清晰,这样其他人就不会关闭它,这会更好。谢谢Simon。这很有效。我以前从未使用过powershell,因此这是一次非常好的学习体验。我感谢您的耐心,因为这将远远超出我的理解范围ge.再次感谢。@JMcNamara不客气!继续学习powershell吧。我大约3个月前开始学习,根本没有任何脚本编写经验。它很容易学习,而且非常有用。另一件事:如果您想使用此脚本制定计划任务,请参阅本帖中我的答案: