我对批处理编程很陌生,我想删除文件名中的最后一个字符。
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(使用前将#替换为@)