标题: [文本处理] 【已解决】批处理如何获取网址最后的字段? [打印本页]
作者: zhanglei1371 时间: 2018-3-1 08:56 标题: 【已解决】批处理如何获取网址最后的字段?
本帖最后由 zhanglei1371 于 2018-3-1 13:33 编辑
如下面的test.txt内容为网址:
jwc.ahmu.edu.cn/jpkc/07lcyl/kejian/123/13.pps
jwc.ahmu.edu.cn/jpkc/07lcyl/kejian/15.pps
jwc.ahmu.edu.cn//kejian/8.pps
jwc.ahmu.edu.cn/21.ppt
jwc.ahmu.edu.cn/jpkc/07lcyl/18.ppt
现使用如下代码进行变量的测试,结果发现有问题:- @echo off
- setlocal enabledelayedexpansion
- pushd %~dp0
- set /a n=1
- ::========================代码区===========================%
- for /f "delims=" %%i in (test.txt) do (
- set str1=%%i
- REM =======================================================
- for %%a in (!str1:/^=^ !) do (
- set /a s+=1
- )
- %%p in ("!str1!") do echo %%p
- pause
- set s=0
- )
- ::==================代码区===========================%
- echo 操作已完成!按任意键退出!&pause>nul
- exit/b
复制代码
就是这句:for /f "tokens=!s! delims=/" %%p in ("!str1!") do echo %%p,若是将!s!改成具体数字就没有问题。但是这样写就有问题,不知该如何修改?
谢谢各位!
参考了二楼的链接,改成这样就可以了:- ..................
- echo s的值为:!s!
- call :F !s!
- :f tokens
- for /f "tokens=%1 delims=/"...........
复制代码
作者: ivor 时间: 2018-3-1 10:48
http://www.bathome.net/thread-47424-1-1.html
作者: WHY 时间: 2018-3-1 19:49
没必要计算斜杠或反斜杠个数- @echo off
- for /f "delims=" %%i in (test.txt) do (echo;%%~nxi)
- pause
复制代码
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (test.txt) do (
- set "str=%%i"
- for %%j in (!str:/^=^ !) do (set s=%%j)
- echo;!s!
- )
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |