gpt4 book ai didi

powershell - 替换文件名中的单引号(')

转载 作者:行者123 更新时间:2023-12-03 00:49:12 25 4
gpt4 key购买 nike

我在另一个线程中收到了一个很好的建议,以支持从目录结构中的文件名中删除/替换特定字符。对于常见的ascii字符(如&)可以正常工作。

PowerShell(可以很好地从文件名中删除&字符):

powershell.exe -c "Get-ChildItem 'c:\Media\Downloads' -Filter '*&*' -Recurse | Rename-Item -NewName {$_.name -replace '&','' }"

我还需要从某些文件中删除单引号:例如: mark's_file.txt

我尝试了几种变体,但均未成功。我认为我遇到了无法解决的标点符号问题。我也尝试使用变量= char(39)并添加到字符串中。没运气。

有什么想法要完成吗?

注意:与调用外部.ps1文件相比,这将是一种自包含的批处理文件方法。

最佳答案

批处理文件也可以从文件名中同时删除&'字符:

@echo off
setlocal EnableDelayedExpansion

rem Remove "&" characters:
for /R "c:\Media\Downloads" %%a in ("*&*") do (
set "fileName=%%~NXa"
ren "%%a" "!filename:&=!"
)

rem Remove "'" characters:
for /R "c:\Media\Downloads" %%a in ("*'*") do (
set "fileName=%%~NXa"
ren "%%a" "!filename:'=!"
)

...但是批处理文件的启动比PS的运行快得多!

关于powershell - 替换文件名中的单引号('),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812893/

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