gpt4 book ai didi

powershell - 如何在PowerShell中使用HttpUtility.UrlEncode方法重命名文件?

转载 作者:行者123 更新时间:2023-12-02 23:58:04 25 4
gpt4 key购买 nike

我有一堆需要使用url编码重命名的html文件,然后再将其上传到服务器。我试过了:

Get-ChildItem -Path c:\temp\ -Recurse -Filter *.html | Rename-Item -NewName { $_.Name.replace("*.html",[Web.Httputility]::UrlEncode("*.html")) }

但这不适用编码,甚至可以以某种方式完成编码吗?

最佳答案

这是一种基本的实现方式based on this answer:

(Get-ChildItem -Path c:\temp\ -Recurse -Filter *.html -File) |
foreach { ren $_.fullname ([uri]::EscapeDataString($_))}

最初,我是在 ()周围没有 Get-ChildItem的情况下编写它的,但是发现它仍然在读取目录信息,而重命名已经重命名了第一项。然后,重命名第二次对第一项进行了重新编码,从而使其有点杂乱无章。

这是一个更清洁的版本,它首先处理文件,然后处理文件夹:
$files = Get-ChildItem -Path c:\temp\ -Recurse -Filter *.html -File
$folders = Get-ChildItem -Path c:\temp\ -Recurse -Filter *.html -Directory
$files | foreach { ren $_.fullname ([uri]::EscapeDataString($_))}
$folders | foreach { ren $_.fullname ([uri]::EscapeDataString($_))}

关于powershell - 如何在PowerShell中使用HttpUtility.UrlEncode方法重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37691007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com