作者 主題: 在DOS中從文件截取字符串  (閱讀 3694 次)

0 會員 與 1 訪客 正在閱讀本文。

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
在DOS中從文件截取字符串
« 於: 2010-07-08 11:53 »
各位大大好:

本人有一個DOS方面的問題,如下

 截取字符串 可以用如下的命令
  =========================================
  @echo off
  set ifo=abcdefghijklmnopqrstuvwxyz0123456789
  echo %ifo%
    echo %ifo:~0,5%
  echo %ifo:~-5%
  echo %ifo:~0,-5%
  echo %ifo:~3,5%
  echo %ifo:~-14,5%
  pause
但從文件夾中怎麼截取呢?
如文件FILE中有如下字符
abcdefghijklmnopqrstuvwxyz0123456789

用什麼命令可以從FILE文件中截取abcd字符呢?

感謝~~


ericbbs

  • 憂鬱的高中生
  • ***
  • 文章數: 166
    • 檢視個人資料
回覆: 在DOS中從文件截取字符串
« 回覆 #1 於: 2010-08-05 16:38 »
:: 出處:http://www.cn-dos.net/forum/viewthread.php?tid=25746
@echo off&setlocal EnableDelayedexpansion
::設置變量var的值:
set var=0123456789ABCDEF
call :begin
for /l %%a in (1,3,15) do (
    for /l %%b in (1,4,15) do (
        call :printf %%a %%b
    )
)
call :begin
for /l %%a in (1,4,15) do (
    for /l %%b in (-1,-3,-15) do (
        call :printf  %%a %%b
    )
)
call :begin
for /l %%a in (-2,-3,-15) do (
    for /l %%b in (1,4,15) do (
        call :printf  %%a %%b
    )
)
call :begin
for /l %%a in (-1,-4,-15) do (
    for /l %%b in (-2,-3,-15) do (
        call :printf  %%a %%b
    )
)
pause
endlocal&cls&echo.
echo 演示結束了,任意鍵退出……
pause>nul
goto :eof

::輸出結果:
:printf
    echo %%var:~%1,%2%%        截取之後的字符為:        !var:~%1,%2!
    goto :eof

::清理屏幕:
:begin
    echo\&pause&cls&echo.
    echo                         變量var的值為:        %var%
    echo.
    goto :eof

van416

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
回覆: 在DOS中從文件截取字符串
« 回覆 #2 於: 2010-08-25 15:52 »
非常感謝~~~