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

[文本处理] 批处理for命令delims怎样使用引号分隔符?

比如1.txt如下:
HKEY_LOCAL_MACHINE\software\classes\http\shell\open\command
<没有名称> REG_SZ "C:\Program Files\Maxthon2\Maxthon.exe" "%1"

代码如下:
@echo off
for /f "skip=1 tokens=2 delims=“" %%i in (1.txt) do echo %%i
pause

这里用delims=”号 会出错 改怎样输入正确的语法吧路径提取出来

谢谢指点了!(前提路径有可能会改变)

[ 本帖最后由 yanxunwangluo 于 2010-4-7 23:27 编辑 ]

delims不允许使用双引号做列分隔符,用其它符号吧,好好想想。

TOP

指点下了 替换分隔符也可以 不过不知道批处理的命令

其它还有什么方法可以把路径提取出来

TOP

直接读注册表:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /F "skip=4 tokens=2,*" %%a in ('reg query "HKLM\software\classes\http\shell\open\command" /ve') do (
  3. set b=%%b&set b=!b:"=|!
  4. for /F "tokens=1,* delims=|" %%c in ("!b!") do set c="%%c")
  5. echo.%c%
  6. pause
复制代码
如果不能正确显示,则使用
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "skip=4 tokens=1,* delims=:" %%a in ('reg query "HKLM\software\classes\http\shell\open\command" /ve') do (
  3. set a=%%a&set a=!a:~-1!:%%b&set a=!a:"=|!
  4. for /F "tokens=1,* delims=|" %%c in ("!a!") do set c="%%c")
  5. echo.%c%
  6. pause
复制代码

[ 本帖最后由 hanyeguxing 于 2010-4-8 02:01 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 3楼 的帖子

字符串的替换和截取主要靠set命令来完成,好好看看教程把。

TOP

谢谢4楼指点哦。。。。

[ 本帖最后由 yanxunwangluo 于 2010-4-8 20:06 编辑 ]

TOP

返回列表