China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-08-11 23:50
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [Help] Display filenames after deleting certain characters (DIR) View 908 Replies 2
Original Poster Posted 2010-09-03 12:01 ·  中国 江苏 苏州 张家港市 电信
初级用户
Credits 47
Posts 23
Joined 2006-09-27 20:54
19-year member
UID 63820
Status Offline
Under one folder, I created several TXT files named test*

I want to use a batch file to display the filenames after deleting est
that is, display t*.txt

Why doesn't it work when written like this:

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir /b *.*') do (
set var=%%~nxi
set !var=%var:est=%!
echo !var!)
pause

Thanks in advance, and it'd be best if you could analyze it too
Floor 2 Posted 2010-09-03 19:23 ·  中国 四川 成都 电信
初级用户
Credits 21
Posts 21
Joined 2008-10-18 17:51
17-year member
UID 128679
Gender Male
Status Offline
It's not set !var=%var:est=%!, it's set "var=!var:est=!"

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir /b *.*') do (
set var=%%~nxi
set "var=!var:est=!"
echo !var!)
pause


[ Last edited by kakenhi on 2010-9-3 at 19:24 ]
Recent Ratings for This Post ( 1 in total) Click for details
RaterScoreTime
sea2moon +1 2010-09-03 22:09
Floor 3 Posted 2010-09-03 22:10 ·  中国 江苏 苏州 电信
初级用户
Credits 47
Posts 23
Joined 2006-09-27 20:54
19-year member
UID 63820
Status Offline
Thanks~
Tested it, it works...
Forum Jump: