AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-572053

JK_PShell_Noob's questions

Martin Hope
JK_PShell_Noob
Asked: 2020-04-28 12:57:13 +0800 CST

在同一目录中使用 PowerShell 修改多个文件名

  • 1

当谈到 powershell 时,我是一个完全的菜鸟,但我整天都在努力解决这个问题,不知道为什么。

每天,我都会在一个目录中有一组文件。这些文件将具有不同的名称和不同的扩展名,因此它们都是唯一的。我正在尝试重命名所有这些文件以包含相同的初始文件名,然后将当前日期时间放在末尾并且不包含扩展名。下面是我所拥有的。我浏览到我的文件所在的目录,创建我的变量以获取当前日期时间并按照我想要的方式格式化。然后我发出重命名命令,它在成功完成第一个文件后总是出错,因为它试图再次编辑已经重命名的第一个文件。任何帮助将不胜感激。提前致谢。

要重命名的示例文件名

test123.dat
341test.txt
983asdf.doc

所需的最终结果,每个文件都是唯一的,以毫秒为单位,您可以在下面的文件名中看到最后 4 个数字:

abcabcp123456789d202004271552001023
abcabcp123456789d202004271552001024
abcabcp123456789d202004271552001025

我尝试了什么:

$curDateTime = Get-Date -Format yyyyMMddTHHmmssffff
Get-ChildItem *.* | Rename-Item -NewName {'abcabcp123456789d' + $curDateTime}

如果我运行 -WhatIf,它说它工作正常,没有错误。当我实际运行它时,它说: Rename-Item : 当文件已经存在时无法创建文件。

即使是几毫秒也太快了吗?在 -WhatIf 中,即使它说没有错误,所有三个文件都以相同的名称显示。无论如何。再次感谢。

我尝试运行的更新变体:

Get-ChildItem *.* | ForEach { 
    Rename-Item -Path $_.FullName -NewName "$($_.DirectoryName)\$('abcabcp123456789d')$(Get-Date -F yyyyMMddTHHmmssffff)" 
}

尝试了带括号的代码:

(Get-ChildItem *.*) | ForEach { Rename-Item -Path $_.FullName -NewName "$($_.DirectoryName)\$('abcabcp123456789d')$(Get-Date -F yyyyMMddTHHmmssffff)"}

带括号的新代码不起作用。我收到以下错误:

Rename-Item :当该文件已存在时无法创建该文件。在 line:1 char:33 + (Get-ChildItem . ) | ForEach { Rename-Item -Path $ .FullName -NewName "$($ .Dir ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ + CategoryInfo : WriteError: (F:\abc\Test\Upl...00415-b-dbo:String) [Rename-Item], IOException + FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand

powershell files rename
  • 1 个回答
  • 729 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve