使用Powershell从文件名中删除前导零

使用Powershell从文件名中删除前导零,powershell,leading-zero,Powershell,Leading Zero,早上好 我很难理解过去的话题。我是一个了解甚少的新用户 我想从文件名中删除所有前导零的文件路径如下 CD文档\附件 基本上,我要做的是将该文件路径复制粘贴到Powershell中,然后复制粘贴命令以删除该文件夹中文件名的所有前导零 文件名的示例是0123456789xxxxxxxxx(长度和字符不同) 我想要123456789xxxxxx 非常感谢您的帮助。因为,您可以使用来修剪字符串的前导字符: # Change location to the folder cd Documents\Atta

早上好

我很难理解过去的话题。我是一个了解甚少的新用户

我想从文件名中删除所有前导零的文件路径如下

CD文档\附件

基本上,我要做的是将该文件路径复制粘贴到Powershell中,然后复制粘贴命令以删除该文件夹中文件名的所有前导零

文件名的示例是0123456789xxxxxxxxx(长度和字符不同)

我想要123456789xxxxxx

非常感谢您的帮助。

因为,您可以使用来修剪字符串的前导字符:

# Change location to the folder
cd Documents\Attachments

# Discover all the files in the current folder with leading 0s in their name
$files = Get-ChildItem -File -Filter 0*

# Use `Rename-Item` with `TrimStart` to rename the files to the appropriate name without the leading 0s
$files |Rename-Item -NewName { $_.Name.TrimStart('0') }

查看每个文件
.BaseName
将具有的
.TrimStart()
方法。我查看了该方法,但无法使其正常工作。以下是我尝试各种方法时遇到的错误。PS C:\Users\awiget\Documents\Attachments>TrimStart(),第1行char:11+TrimStart()+~在“(”.+CategoryInfo:parserror:(:)[]之后应该有一个表达式,ParentContainerRorRecordException+FullyQualifiedErrorId:ExpectedExpressionPS C:\Users\awiget\Documents\Attachments>TrimStart(0)TrimStart:术语“TrimStart”未被识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者检查是否包含路径,验证路径是否正确,然后重试。在第1行char:1+TrimStart(0)+~~~~~~~~~+CategoryInfo:ObjectNotFound:(TrimStart:String)[],CommandNotFoundException+FullyQualifiedErrorId:CommandNotFoundException我看到
Mathias R.Jessen
让它为你工作了。库尔![grin]现在,我可能会对礼物大发雷霆,但我不得不问一下。我每天都要重命名数百个文件。我想知道是否有一种更快的方法使用通配符。我会给文件命名各种各样的东西。但常量是,前面总是有一串数字,有时前导是零,有时不是,但它们总是哈ve 9-10位。除了删除前导零之外,是否可以重命名文件的结尾?如下图所示。0123456789 xyzpdq,不管是什么,都可以将其重命名为此?123456789_LM MOD CLOSING PKG。我目前正在使用许多重命名命令来完成此操作this@user1987966“我需要更快的东西”听起来像是一个想象中的问题:)你有没有试过测量一下100个文件的速度?当我说100个文件时,我指的是每天300到500个文件的范围。虽然使用各种字符串命令并不完全痛苦,但仍然需要时间。我只是好奇这种可能性,而通配符总是让我着迷和困惑。@user1987966,如果您有问题,请再次测试/基准测试:)在我的笔记本电脑上,在一个包含约3000个文件的文件夹中发现并重命名1000个带前导零的文件不到1秒(~850ms)。关于第二个问题:并提供所有必要的细节:)