我是批处理编程的新手,我想删除文件名中的最后一个字符。
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
进入
10_myfile_12345_.txt
11_myfile_12345_.txt
如果要删除结尾,_
只需更改!filename:~0,-4!
为!filename:~0,-5!
。这是简单的字符串操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句