联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by HAT at 2010-1-9 04:22 PM: for和findstr都是行缓冲的,你的代码里面for无法知道findstr找到的究竟是哪个关键字。 这个问题不是你那两三行代码所能够解决的。
@echo off&setlocal enabledelayedexpansion for /f "tokens=1,2 delims==/> " %%i in ('findstr /i "Filename ServerFolder Path" 1.txt') do ( if /i %%i neq path (set "%%i=%%~j") else (set "p=%%j") if defined p ( echo "!Filename!\!ServerFolder!" !p! set "Filename=" set "ServerFolder=" set "p=" ) ) pause
Originally posted by q8249014 at 2010-1-9 09:01 PM: [code] @echo off&setlocal enabledelayedexpansion for /f "tokens=1,2 delims==/> " %%i in ('findstr /i "Filename ServerFolder Path" 1.txt') do ( if /i %%i neq path ...
@echo off&setlocal enabledelayedexpansion set n=0 for /f "tokens=1,2 delims==/> " %%i in ('findstr /i "Filename ServerFolder Path" 1.txt') do ( if /i %%i neq path (set "%%i=%%~j") else (set "p=%%~j") set /a n+=1 if !n! equ 3 ( echo !ServerFolder!\!Filename! !P! set n=0 ) ) pause