[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1 delims=:" %%i in ('findstr /n /r "^:样本" %~s0') do set /a "nTag=%%i"
  4. if defined nTag (
  5. for /f "delims=" %%i in ('more +%nTag% %~s0') do (
  6. set "strLine=%%i"
  7. echo,原地址     : !strLine!
  8. call :_ShowAction "strLine"
  9. echo,处理后地址 : !strLine!
  10. )
  11. )
  12. pause & goto :EOF
  13. :_ShowAction
  14. (
  15. echo,"!%~1!" | findstr /c:"/" >nul && (
  16. set "%~1=!%~1:*/=!"
  17. call :_ShowAction "%~1"
  18. )
  19. goto :EOF
  20. )
  21. :样本
  22. http://www.bathome.net/post.php?action=newthread&fid=5
  23. http://www.bathome.net/c/3553908420
复制代码
echo,hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com

TOP

用sed 应该可以

TOP

  1. sed -i.txt "s/.*\///" 1.txt
复制代码
  1. @echo off
  2. for /f "delims=" %%a in ('type 1.txt') do (
  3.   set line=%%a
  4.   setlocal EnableDelayedExpansion
  5.   set "line=!line:/= !"
  6.   call :Dispose "^!line^!"
  7.   endlocal
  8. )
  9. exit /b 0
  10. :Dispose
  11. set "line=%~1"
  12. :start
  13. for /f "tokens=1* delims= " %%c in ('echo "!line!"') do (
  14.     set content=%%~c
  15.     set line=%%~d
  16. )
  17. if "!line!"=="" goto end
  18. set line=!line:~0,-1!
  19. if not "!line!"=="" goto start
  20. :end
  21. echo !content!
  22. exit /b 0
复制代码

TOP

yiwuyun 发表于 2015-1-28 21:06

我下了个sed,文本改成1.txt,结果没变化。

TOP

本帖最后由 lyfwcn 于 2015-1-29 09:53 编辑

回复 3# apang

谢谢,可行.但换了个符号就不行了

TOP

  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do echo %%~nxa
  3. pause
复制代码

TOP

  1. sed "s/.*\///" 1.txt
复制代码

TOP

返回列表