从 Windows 中的文件名中删除最后一个字符

2023-11-30

我对批处理编程很陌生,我想删除文件名中的最后一个字符。

10_myfile_12345_6789.txt
11_myfile_12345_0987.txt

我想删除文件名的最后 4 位数字,我该怎么做?

我已经尝试过这个

@echo off
setlocal enabledelayedexpansion
set X=3
set FOLDER_PATH=
pushd %FOLDER_PATH%
for %%f in (*) do if %%f neq %~nx0 (
    set "filename=%%~nf"
    ren "%%f" "!filename!%%~xf"
)
popd
PAUSE

但它删除了第一个和最后一个字符,我也只在这里看到了这个,我仍然很困惑这是如何工作的


根据您最近的澄清 - 我将执行以下操作。

@echo off
setlocal enabledelayedexpansion
set FOLDER_PATH=C:\Some\Path\
for %%f in (%FOLDER_PATH%*) do if %%f neq %~nx0 (
    set "filename=%%~nf"
    ren "%%f" "!filename:~0,-4!%%~xf"
)
PAUSE

这将改变你的例子

10_myfile_12345_6789.txt
11_myfile_12345_0987.txt

Into

10_myfile_12345_.txt
11_myfile_12345_.txt

如果你想删除尾随_只需改变!filename:~0,-4! to !filename:~0,-5!。这很简单字符串操作.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Windows 中的文件名中删除最后一个字符 的相关文章

随机推荐