需要重命名具有日期字符串前置的文件

时间:2014-03-06 14:57:47

标签: powershell

我需要重命名在目录中使用模式找到的文件。 YYYY-MM-DD-HH-mm-ss_的日期格式需要预先结束现有文件名。

如果是文件名abc.bbc.ccc.txt,那么它应该是YYYY-MM-DD-HH-mm-ss_abc.bbc.ccc.txt

实际上文件必须以新名称移动到其他目录。

请提供给我的提示

  1. 如何在给定目录中按照上面的要求重命名文件。

  2. 将具有新名称的文件移动到任何目录

  3. 我正在尝试这个但没有工作

     $sysname=$env:COMPUTERNAME
     $Date = Get-Date
     $Now = Get-Date -format yyyy-MM-dd-HH-mm-ss
     $host_date=$sysname +"_"+ $Now
    
     $file = "C:\Users\cherukpo\tracing\*\"   
    
     foreach ($file in gci $file -include *.etl -recurse)
     {       
          rename-item -path $file -newname ("$host_date_$_.name.txt") 
      };
    

1 个答案:

答案 0 :(得分:0)

如果您不想更改原始文件夹中文件的名称,请执行以下操作:

$date = get-date -format "yy-MM-dd-HH-mm-ss"
get-childitem | ? {$_.PSISNOTCONTAINER} |% {
    $name=$date + "_" + $_ 
    copy-item $_ "c:\path\to\new\folder\$name"
}

如果您想重命名原始文件,只需执行相同的操作,但在复制项目之前使用重命名项目