标题: [求助]请高手帮忙看下错在那里?
[打印本页]
作者: beeny
时间: 2007-8-5 22:51
标题: [求助]请高手帮忙看下错在那里?
有一批文件夹命名方式是:身份证号码加名字。如:612321***********张三
假定身份证号都是十八位,要用批处理把身份证号码和姓名分别两个文本文件里!我的代码如下,但不知道那个地方错了,还望指教.
for /f %%i in ('dir /b') do (
set str=%%i
echo %str:~,18%>>hm.txt
echo %str:~18,%>>xm.txt)
上面代码运行后,达不到我想要的结果!另外有些文件夹的名字在身份证号码和名字之间有空格。
作者: 26933062
时间: 2007-8-6 00:31
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in ('dir/b/ad') do (
set str=%%i
set str=!str: =!
echo !str:~0,18!>>hm.txt
echo !str:~18!>>xm.txt
)
作者: knoppix7
时间: 2007-8-6 09:57
不过开了setlocal ENABLEDELAYEDEXPANSION的话。万一文本里有!号的话可能要出事。
作者: zh159
时间: 2007-8-6 12:52
用call来延迟(只适用set、echo,if不能用)
@echo off
for /f "delims=" %%i in ('dir/b/ad') do (
set str=%%i
call set str=%%str: =%%
call echo %%str:~0,18%%>>hm.txt
call echo %%str:~18%%>>xm.txt
)