gpt4 book ai didi

windows - 重命名文件名中包含空格和点的文件

转载 作者:可可西里 更新时间:2023-11-01 11:55:59 28 4
gpt4 key购买 nike

我正在制作一个简单的 *bat 文件,它具有拖放功能,可以将空格 ( ) 和点 (.) 替换为下划线 (_)。

我认为这应该行得通,但行不通:

@ECHO OFF
setlocal enabledelayedexpansion
FOR %%f IN (%*) DO (
set filename=%%~nj
set filename=!filename:.=_!
set filename=!filename: =_!
if not "!filename!"=="%%~nf" RENAME "%%f" "!filename!%%~xf"
)

你知道这是怎么回事吗?

最佳答案

试试这个:

@ECHO OFF &setlocalFOR %%f IN (%*) DO (set "oldname=%%~ff"set "oldfname=%%~nf"set "extension=%%~xf"setlocal enabledelayedexpansionset "filename=!oldfname:.=_!"set "filename=!filename: =_!"if not "!filename!"=="!oldfname!" RENAME "!oldname!" "!filename!!extension!"endlocal)

set 的赋值放在双引号中,以保护您的代码免受丑陋字符的影响。稍后在 for 循环中设置 delayed expansion 以在文件名中保存感叹号和插入符号。

关于windows - 重命名文件名中包含空格和点的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16712881/

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