问题标签 [rename-item-cmdlet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1440 浏览

powershell - 在 powershell 中使用 new-guid 重命名每个文件

我一直在尝试使用文件名$New-Guid.txt 重命名文件夹中的每个 txt 文件,因此它们都应该具有唯一的名称。

有人知道这样做的简单方法吗?

0 投票
1 回答
49 浏览

powershell - PowerShell Rename-Item 正在循环,直到文件达到字符限制

我必须从字面上重命名数千个文件夹,并希望使用在旧名称前添加“旧”的脚本。

我试过这个脚本

当我在一些小的测试文件夹中尝试它以防止弄乱我的主文件夹时,它甚至可以工作,但不幸的是它在那里工作但不在我的主文件夹中。在我的主文件夹中,此命令将循环直到达到字符限制并停止。

看起来像这样:

在网上我也找到了这个,但它产生了相同的结果

这是一个错误还是我只是愚蠢?

0 投票
2 回答
145 浏览

powershell - 如何将变量的内容转换为字符串?

我有 5 个变量,我有 3 个文件。

现在这三个文件分别是 06540​​200.jnm 和 jrn 和 txn。

我想重命名这些文件中的每一个。而不是最后的 00 我想要 99. 06540​​299 jrn jnm txn

我正在使用以下几行来执行此操作:

这将返回一个错误。

0 投票
2 回答
191 浏览

powershell - 重命名包含方括号的文件

用于批量重命名一个文件夹中的文件的 PS 命令确实适用于其中没有一对方括号的所有文件,但如果文件名包含一个方括号则永远不会。如果名称中有一个或多个右方括号,它也可以工作,但任何数量的左方括号都会导致错误。

错误注释:rni : Impossible de renommer l'élément situé à l'emplacement « C:\Users\X\documents\dossier\machine[3].txt », car il n'existe pas。

翻译_rni:无法重命名在« C:\Users\X\documents\dossier\machine[3].txt »中找到的元素,因为它不存在。

这是命令的代码;

用户PetSerAI的插入“-LiteralPath”的建议适用于当前情况;

然而,对于更复杂的代码,同样的问题会再次出现;“-LiteralPath”在下面的代码中没有预期的效果;

更糟糕的是,至少有一对不同的名称会发生​​重命名:

§§§§§§§§机器 5.txt ”,“机器 5.txt ”。

有没有办法在没有太多额外编码的情况下完成这项工作?

0 投票
2 回答
1651 浏览

powershell - How do i dynamically change file-names with Rename-Item?

I'm trying to use the cmdlet Rename-Item to change the file name of multiple files in a folder. This is an example of my files (there are more files in reality):

What I wan't to do is remove the _NOT_DONE part from these files:

e.g. the files starting with 3_File

I wan't the complete list to look like this when I'm done:

I have tried using this in powershell and it gets all the files, but it forces me to set the new names to a static name (see the last part of the -Replace):

I would like to use regular expressions in the last part of -Replace as well. Or maybe there is another way to make the new names keep a part of their original name?

0 投票
4 回答
145 浏览

powershell - 如何重新编号大量文件?

当前状态

我有一个编号的文件列表。这是一个示例(实际上有更多文件)

期望的结果

如您所见,文件已编号,但有些文件的编号相同。我想要做的是遍历它们并重新编号以使列表看起来像这样:

我试过的

我想出了这个最有效的powershell脚本:

该脚本的作用是遍历所有文件并删除它们的当前编号并将其替换为我存储在$x. 到目前为止,我的脚本的唯一错误是所有文件都获得了数字1,因为我没有在任何地方增加它。

所以对于实际的问题

在我的脚本中我可以在哪里增加$x?或者也许我必须以某种方式将其重写为循环才能在每次重命名后增加它?

0 投票
1 回答
372 浏览

powershell - 在复制到某个文件夹之前重命名文件

我仍然是新手,正在学习创建 PowerShell 脚本以使 IT 生活更轻松。

目前,我正在尝试构建一个脚本,该脚本运行某个 Microsoft 工具,扫描 csv 文件中定义的网络共享并创建一个 JSON 输出文件。现在,由于此文件的模式始终与“Report_Username_Hostname.vba.JSON”相同,因此我想附加扫描的目录名称甚至一系列数字,fe。“Report_Username_Hostname(100).vba.JSON”或“Report_Username_Hostname(sharename).vba.JSON”

这是必要的,因为在此重命名步骤之后,我将这个文件夹中的这个文件和其他文件上传到不同服务器上的另一个文件夹,以将它们上传到数据库中。我计划在大多数自动级别上在许多不同的位置运行此脚本,他们都将收集的文件复制到一个上传文件夹中。

我已经尝试了几个在互联网深处找到的选项,但我只到了文件被重命名为 0 或类似的点,但没有达到预期的结果。

做这项工作的 Powershell 脚本是这样的:

fileremediation_1st.csv 看起来像

有人可以帮我解决这个问题,我不知道我做错了什么。谢谢!

我得到的当前错误是

Rename-Item :无法重命名指定的目标,因为它代表路径或设备名称。在 C:\temp\FileRemediation\scripts\fileremediation_V2_1st.ps1:28 char:55 + ... 共享 -Filter '*.JSON' | 重命名项目 -NewName {$_.FullName+$uncshare} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Rename-Item], PSArgumentException + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RenameItemCommand

如前所述,我也可以使用专用的数字范围,将其附加到文件名“Report_Username_Hostname(100).vba.JSON” 完美的世界是如果我可以从 csv 文件中拆分 \server\sharename并将共享名附加到我的文件名。

0 投票
3 回答
211 浏览

powershell - 如何在powershell中的-Newname中包含变量

通过 power-shell 脚本,尝试将 $Album 变量添加到命名序列中。

尝试写入主机,变量正在工作。尝试过 () [] {} "" '' 之类的东西。等等。

目标是 $Album 在下面的这一行中开始工作: {0:D2}$Album.mxf

前:

  • 杂项名称 - 1.mxf
  • 杂项名称 - 4.mxf
  • 杂项名称 - 6.mxf

当前的:

  • 01$专辑.mxf
  • 02$专辑.mxf
  • 03$专辑.mxf

目标:

  • 01 名称类型 Loc 月份 2019.mxf
  • 02 名称类型 Loc 月份 2019.mxf
  • 03 名称类型 Loc 月份 2019.mxf
0 投票
3 回答
281 浏览

powershell - ++ 变量上的运算符未在 ScriptBlock 中按预期更改

我正在尝试通过在文件中添加基于递增计数器的前缀来重命名文件,例如:

然而,所有处理的文件都是并且71_永远不会增加,并且文件名的前缀相同?为什么?$count$count++


在此处输入图像描述

0 投票
2 回答
561 浏览

powershell - 'Rename-Item' 使用新名称制作副本

尝试制作一个脚本来备份特定文件夹,然后在 HKLM...\ProfileLists 下重命名目标用户的 GUID 密钥,但是 rename-item 命令会复制密钥并创建一个带有附加名称的新密钥,尽管具有完整的使用权

尝试使用 -force,尝试使用 move-item 而不是重命名,但它给出了完全相同的结果,一个与原始密钥相同但附加名称的新密钥

预期结果是仅重命名注册表中的 GUID 键。实际结果是具有正确附加名称的新副本的重复键。

Rename-Item :指定路径的注册表项不存在。在 line:9 char:5 + Rename-Item $FULLPATH -NewName "$SSID.bak" -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (HKEY_LOCAL_MACH...\folderredirect:String) [Rename-Item], ArgumentException + FullyQualifiedErrorId : System. ArgumentException,Microsoft.PowerShell.Commands.RenameItemCommand

Rename-Item :对象引用未设置为对象的实例。在 line:9 char:5 + Rename-Item $FULLPATH -NewName "$SSID.bak" -Force + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Rename-Item], NullReferenceException + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands .RenameItemCommand

密钥确实存在,我可以再次运行相同的命令作为证明(由于测试路径)。

详细输出确实确认其复制