[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何以最后一个“/”为分隔符提取前面的内容?

如何以最后一个“/“为分隔符。提取前面的内容?
http://pli6.999pcs.com/yinge06/lj/bbs/ShowPost.asp?ThreadID=406
变成http://pli6.999pcs.com/yinge06/lj/bbs/

  1. gawk "BEGIN{FS=OFS=\"/\"}{NF=NF-1}1" 1.txt
复制代码

TOP

回复 2楼 的帖子

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>gawk /?
'gawk' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Documents and Settings\Administrator>

TOP

回复 3楼 的帖子

自己去下载一个吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

批处理没办法吗,我想用批处理

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set "T=%cd%"
  3. echo.http://pli6.999pcs.com/yinge06/lj/bbs/ShowPost.asp?ThreadID=406>1.txt
  4. echo.c:\ssdw;jfd\sdfl23\ddd>>1.txt
  5. for /f "tokens=* delims=" %%a in ('type 1.txt') do (
  6. set "TT=%%~dpa"
  7. set "TT=!TT:%T%=!"
  8. set "TT=!TT:\http:\=http:\\!"
  9. if "!TT:~,4!"=="http" set "TT=!TT:\=/!"
  10. echo !TT!
  11. )
  12. pause
  13. exit
复制代码

TOP

可以生成反序来取啊,不就是第一个吗

TOP

  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do (
  3.     set "strOri=%%a"
  4.     setlocal enabledelayedexpansion
  5.     call :Rev "!strOri!"
  6.     set "strCut=/!strRev:*/=!"
  7.     call :Rev "!strCut!"
  8.     echo,!strRev!
  9.     endlocal
  10. )
  11. goto :eof
  12. :Rev
  13. set "strArg=%~1"
  14. set strLen=0
  15. for /f "skip=1 delims=:" %%i in ('^(echo "!strArg!"^&echo.^)^|findstr /o ".*"') do (
  16.     set /a strLen=%%i-5
  17. )
  18. set /a strPoint=strLen-1
  19. set strRev=
  20. for /l %%i in (!strPoint!,-1,0) do (
  21.     set strRev=!strRev!!strArg:~%%i,1!
  22. )
  23. goto :eof
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. set "lj=%cd%"
  3. for /f "delims=" %%a in (a.txt) do (
  4.    set str=%%~dpa
  5.    setlocal enabledelayedexpansion
  6.    echo !str:*%cd%\=!
  7.    endlocal
  8. )
  9. pause
复制代码
技术问题请到论坛发帖求助!

TOP

有个问题,发现随风提出来的成了这样的 http:\pli6.999pcs.com/yinge06/lj/bbs/而不是这样的 http://pli6.999pcs.com/yinge06/lj/bbs/   
双斜杠变成了反向的单斜杠。所以很多网址打不开

TOP

返回列表