使用从文件名中提取的字符串重命名文件

Hituptony

我在powershell脚本中有以下代码:

#Call Bluezone to do file transfer
#start-process "\\fhnsrv01\home\aborgetti\Documentation\Projects\Automation\OpenBZ.bat"
#Variable Declarations
$a = Get-Date
$b = $a.ToString('MMddyy')
$source = "\\fhnsrv01\home\aborgetti\Documentation\Stage\"
$dest = "\\fhnsrv01\home\aborgetti\Documentation\Stage\orig"
#Find all the files that have EDIPROD extension and proceed to process them
#First copy the original file to the orig folder before any manipulation takes place
Copy-item $source\*.EDIPROD $dest
# Now we must rename the items that are in the table
Switch(GCI \\fhnsrv01\home\aborgetti\Documentation\Stage\*.EDIPROD){
    {(GC $_|Select -first 1).substring(176) -match "^834"}{$_ | Rename-Item -NewName {"834Dailyin$b"};Continue}
    {(GC $_|Select -first 1).substring(176) -match "^820"}{$_ | Rename-Item -NewName {"820Dailyin$b"};Continue}
}

我关心的部分在这里:

Switch(GCI \\fhnsrv01\home\aborgetti\Documentation\Stage\*.EDIPROD){
    {(GC $_|Select -first 1).substring(176) -match "^834"}{$_ | Rename-Item -NewName {"834Dailyin$b"};Continue}
    {(GC $_|Select -first 1).substring(176) -match "^820"}{$_ | Rename-Item -NewName {"820Dailyin$b"};Continue}
}

我将变量追加$b到文件名的末尾。这保存日期。但是,我感兴趣的实际日期是文件名本身,看起来像这样:

AIDOCCAI.D051414.T025848.MO.EDIPROD

我需要Powershell提取D051414以获得日期051414并将其附加到文件末尾。

否则,我会反复出现此错误:无法重命名项目,因为该项目已经存在。

有人能帮忙吗?我想保留switch语句的原始结构,因为它可以很好地工作。但是,那里没有日期。但是该文件每天只发送一次,因此每个文件都有不同的日期,并且可以正常工作,只需要一些有关如何到达那里的帮助。

更新

Switch(GCI \\fhnsrv01\home\aborgetti\Documentation\Stage\*.EDIPROD){
    {(GC $_|Select -first 1).substring(176) -match "^834"}{$_ | {$_ | ?{$_.Name -match "^.+?\.D(\d{6}).*"} | Rename-Item -NewName {"834Dailyin$($Matches[1])"}}
    {(GC $_|Select -first 1).substring(176) -match "^820"}{$_ | {$_ | ?{$_.Name -match "^.+?\.D(\d{6}).*"} | Rename-Item -NewName {"820Dailyin$($Matches[1])"}}
}
疯狂技术员

更新834重命名行以替换开关的scripteblock为:

{$_ | ?{$_.Name -match "^.+?\.D(\d{6}).*"} | Rename-Item -NewName {"834Dailyin$($Matches[1]).txt"};Continue}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文件名中提取特定的子字符串

来自分类Dev

如何从文件名中提取字符串?

来自分类Dev

从路径字符串中提取文件名

来自分类Dev

如何匹配文件名中的字符串并根据字符串重命名文件?

来自分类Dev

使用sed从文件名中移动字符串或使用重命名将其重命名

来自分类Dev

使用批处理文件从字符串(文件名)中提取特定部分

来自分类Dev

使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

来自分类Dev

Python使用子字符串最佳做法重命名文件名

来自分类Dev

如何使用哈希中的字符串值重命名文件名?

来自分类Dev

如果文件名缺少字符串,请使用批处理文件重命名文件

来自分类Dev

如何使用匹配的字符串递归重命名文件夹名和文件名

来自分类Dev

使用VBA从文件名中提取长度可变的字符串

来自分类Dev

使用FIND和MV重命名文件。删除找到的字符串,然后将其放在文件名之前?

来自分类Dev

通过子字符串文件名批量重命名文件

来自分类Dev

如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

来自分类Dev

从多个文件中提取文件名和字符串

来自分类Dev

从文件名中提取文本并将文件重命名为 grep 文本?

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

从文件名字符串中提取日期

来自分类Dev

从Python中的文件名中提取子字符串?

来自分类Dev

如何从出现在给定字符串之前的文件名中提取数字?

来自分类Dev

需要从文件名中提取字符串

来自分类Dev

从批处理脚本中的文件名中提取和替换字符串

来自分类Dev

从给定字符串中提取文件名所需的正则表达式

来自分类Dev

帮助oneliner-创建随机文件,重命名为2个字符的文件名,并使用随机字符串填充

来自分类Dev

批处理文件重命名脚本交换文件名中的子字符串?

来自分类Dev

如何通过交换文件名中的子字符串来批量重命名文件?

来自分类Dev

查找文件名中包含空格和特定字符串的文件,并将其重命名

来自分类Dev

在bash中重命名文件时重新排序文件名中的子字符串?

Related 相关文章

  1. 1

    从文件名中提取特定的子字符串

  2. 2

    如何从文件名中提取字符串?

  3. 3

    从路径字符串中提取文件名

  4. 4

    如何匹配文件名中的字符串并根据字符串重命名文件?

  5. 5

    使用sed从文件名中移动字符串或使用重命名将其重命名

  6. 6

    使用批处理文件从字符串(文件名)中提取特定部分

  7. 7

    使用Python zipfile从ZIP中提取文件名中包含特定字符串的文件

  8. 8

    Python使用子字符串最佳做法重命名文件名

  9. 9

    如何使用哈希中的字符串值重命名文件名?

  10. 10

    如果文件名缺少字符串,请使用批处理文件重命名文件

  11. 11

    如何使用匹配的字符串递归重命名文件夹名和文件名

  12. 12

    使用VBA从文件名中提取长度可变的字符串

  13. 13

    使用FIND和MV重命名文件。删除找到的字符串,然后将其放在文件名之前?

  14. 14

    通过子字符串文件名批量重命名文件

  15. 15

    如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

  16. 16

    从多个文件中提取文件名和字符串

  17. 17

    从文件名中提取文本并将文件重命名为 grep 文本?

  18. 18

    使用PowerShell重命名或删除文件名中的字符

  19. 19

    从文件名字符串中提取日期

  20. 20

    从Python中的文件名中提取子字符串?

  21. 21

    如何从出现在给定字符串之前的文件名中提取数字?

  22. 22

    需要从文件名中提取字符串

  23. 23

    从批处理脚本中的文件名中提取和替换字符串

  24. 24

    从给定字符串中提取文件名所需的正则表达式

  25. 25

    帮助oneliner-创建随机文件,重命名为2个字符的文件名,并使用随机字符串填充

  26. 26

    批处理文件重命名脚本交换文件名中的子字符串?

  27. 27

    如何通过交换文件名中的子字符串来批量重命名文件?

  28. 28

    查找文件名中包含空格和特定字符串的文件,并将其重命名

  29. 29

    在bash中重命名文件时重新排序文件名中的子字符串?

热门标签

归档