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

[其他] 请帮我解析获取特殊按键的批处理命令

  1. @echo off
  2. SETLOCAL EnableDelayedExpansion
  3. for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  4.   set "DEL=%%a"
  5. )
复制代码
1、按照有关教材的说法,单反引号表示引号内的字符串是一个命令,但里面又有个双引号。双引号表示里面的内容是字符串。那么,怎么解析这个'"prompt #$H#$E# & echo on & for %%b in (1) do rem"'呢?单反引号起什么作用?双引号起什么作用?
2、echo on & for %%b in (1) do rem中的这个%%b和前面的%%a是否有关系?这个(1)在这里指什么?难道就是只是为了把1赋值给%%b吗?
3、prompt #$H#$E# & echo on & for %%b in (1) do rem执行后的结果是什么?
3、for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
  set "DEL=%%a"执行的详细过程是什么?
请哪位朋友帮帮我,为这个问题我郁闷几天了。

谢谢,理解了。

TOP

回复 1# hnsdssp


关于问题1:
反单引号通常是指`
也就是波浪符号同一个按键的那个字符,在这个脚本中并未用到。
脚本里面出现的'就是一个普通的单引号,不是单反引号

for命令执行一个普通的命令:
  1. @echo off
  2. for /f "delims=" %%a in ('echo Hello') do (
  3.     echo,%%a
  4. )
  5. pause
复制代码
for命令执行一个包含特殊字符的命令之方法1:
  1. @echo off
  2. for /f "delims=" %%a in ('"echo Hello & echo World"') do (
  3.     echo,%%a
  4. )
  5. pause
复制代码
for命令执行一个包含特殊字符的命令之方法2:
  1. @echo off
  2. for /f "delims=" %%a in ('echo Hello1 ^& echo World') do (
  3.     echo,%%a
  4. )
  5. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表