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

[注册表类] 批处理如何在文件或文件夹右键菜单加命令行入口的?

[复制链接]
发表于 2011-6-20 20:30:01 | 显示全部楼层
我做了个实验,有些参数搞懂了,有些却仍不明白
  1. .test=testfile
  2. testfile=cmd /k echo "D:%D" "E:%E" "H:%H" "I:%I" "L:%L" "S:%S" "V:%V"
  3. cd \ 2>tmp.test
  4. tmp.test
复制代码
结果是:
"D:C:\tmp.test" "E:E" "H:0" "I::1576632:6620" "L:C:\tmp.test" "S:1" "V:C:\tmp.test"
说明%D、%L和%V都是代表完整路径,可是%E、%H、%I和%S是什么呢?去百度了一下也没查到
发表于 2011-6-20 22:03:51 | 显示全部楼层
15# qzwqzw
可怜,没用过everything,但你说在cmd中显示当前路径是可以的:

  1. @echo off
  2. reg add  HKEY_CLASSES_ROOT\Directory\shell\StartCmd /t REG_SZ /ve /f /d 启动cmd
  3. reg add  HKEY_CLASSES_ROOT\Directory\shell\StartCmd\command /t REG_SZ /ve /f /d "cmd"
  4. pause
复制代码

可能我不理解你的意思,如果不对请指出!~
发表于 2011-6-20 22:19:46 | 显示全部楼层
本帖最后由 cjiabing 于 2011-6-20 22:25 编辑
  1. cmd /k echo %a %b %c %d %e %f %g %h %i %j %k %L %m %n %o %p %q %r %s %t %u %v %w %x %y %z
复制代码
看看这个好玩的结果:

  1. a b c C:\Program Files\Baidu e f g 0 :3180:1472 j k C:\Program Files\Baidu m n o
  2. p q r 1 t u v w x y z
复制代码

意义分析:

  1. %d   路径  C:\Program Files\Baidu
  2. %h           0
  3. %i            :3180:1472
  4. %l    路径  C:\Program Files\Baidu
  5. %s           1
复制代码
发表于 2011-6-20 22:45:01 | 显示全部楼层
看来xp下没有%V
发表于 2012-6-11 13:35:30 | 显示全部楼层
我的个性化菜单
  1. @echo off
  2. reg add hkcr\Folder\shell\OpenCmd /ve /d "打开CMD命令行(&W)" /f
  3. reg add hkcr\Folder\shell\OpenCmd\command /ve /t REG_EXPAND_SZ /d "%%ComSpec%% /d /q /t:0A /k prompt $+$P$_#$S&echo "%%L"&cd/d%%L&for %%%%a in ("%%L") do title %%%%~nxa" /f
  4. reg add hkcr\*\shell\OpenCmd /ve /d "打开CMD命令行(&W)" /f
  5. reg add hkcr\*\shell\OpenCmd\command /ve /t REG_EXPAND_SZ /d "%%ComSpec%% /d /q /t:0A /k prompt $+$P$_#$S&echo "%%L"&for %%%%a in ("%%L\..") do title %%%%~nxa&cd /d %%%%~fa" /f
  6. pause
复制代码
C:\Documents and Settings\Administrator\桌面
# reg query hkcr\Folder\shell\OpenCmd /s

! REG.EXE VERSION 3.0

HKEY_CLASSES_ROOT\Folder\shell\OpenCmd
    <没有名称>  REG_SZ  打开CMD命令行(&W)

HKEY_CLASSES_ROOT\Folder\shell\OpenCmd\command
    <没有名称>  REG_EXPAND_SZ   %ComSpec% /d /q /t:0A /k prompt $+$P$_#$S&echo "
%L"&cd/d%L&for %%a in ("%L") do title %%~nxa

C:\Documents and Settings\Administrator\桌面
# reg query hkcr\*\shell\OpenCmd /s

! REG.EXE VERSION 3.0

HKEY_CLASSES_ROOT\*\shell\OpenCmd
    <没有名称>  REG_SZ  打开CMD命令行(&W)

HKEY_CLASSES_ROOT\*\shell\OpenCmd\command
    <没有名称>  REG_EXPAND_SZ   %ComSpec% /d /q /t:0A /k prompt $+$P$_#$S&echo "
%L"&for %%a in ("%L\..") do title %%~nxa&cd /d %%~fa

C:\Documents and Settings\Administrator\桌面
#
发表于 2012-6-11 14:10:29 | 显示全部楼层
我的:
win7:
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\Directory\shell\StartCmd]
  3. @="命令提示符(&C)"

  4. [HKEY_CLASSES_ROOT\Directory\shell\StartCmd\command]
  5. @="cmd.exe /s /k pushd "%V""
复制代码
winxp:
  1. Windows Registry Editor Version 5.00

  2. [HKEY_CLASSES_ROOT\Folder\shell\命令提示符(&C)\command]
  3. @="cmd.exe /K CD %1"
复制代码
http://www.enun.net/?p=901
发表于 2023-2-17 20:01:27 | 显示全部楼层
本帖最后由 lforl 于 2023-2-17 20:22 编辑
%L 不是 cmd 的参数,应该是 Shell (系统外壳) 的参数。

Google 搜索了下...
tmplinshi 发表于 2011-6-18 15:41



今天,我问GPT:cmd中的V%,L%,1%有什么区别?
得到答复  如下:
  1. V%!,(MISSING)L%!和(MISSING)1%!是(MISSING)Windows Shell中的参数,它们的区别如下:
  2. V%!:(MISSING)指定要执行的文件名。
  3. L%!:(MISSING)指定要执行的文件夹名。
  4. 1%!:(MISSING)指定要执行的文件路径。
复制代码
问GPT:shell里面还有哪些类似于上面的参数

GPT答
  1. 除了V%!,(MISSING)L%!,(MISSING)1%!之(MISSING)外,Windows Shell还有其他参数,包括:
  2. -A:指定要执行的命令。
  3. -B:指定要执行的脚本文件。
  4. -C:指定要执行的命令行参数。
  5. -D:指定要执行的环境变量。
  6. -E:指定要执行的环境变量值。
  7. -F:指定要执行的文件名。
  8. -G:指定要执行的文件夹名。
  9. -H:指定要执行的帮助文件。
  10. -I:指定要执行的输入文件。
  11. -J:指定要执行的输出文件。
  12. -K:指定要执行的键盘输入文件。
  13. -L:指定要执行的日志文件。
  14. -M:指定要执行的模块文件。
  15. -N:指定要执行的网络文件。
  16. -O:指定要执行的输出文件。
  17. -P:指定要执行的参数文件。
  18. -Q:指定要执行的查询文件。
  19. -R:指定要执行的资源文件。
  20. -S:指定要执行的脚本文件。
  21. -T:指定要执行的文本文件。
  22. -U:指定要执行的用户文件。
  23. -V:指定要执行的变量文件。
  24. -W:指定要执行的网络文件。
  25. -X:指定要执行的XML文件。
  26. -Y:指定要执行的YAML文件。
  27. -Z:指定要执行的压缩文件。
复制代码
问GPT:shell中除了1%还有什么是含有数字的参数

GPT答
  1. 除了1%!!(MISSING)之外,Windows Shell还有其他带有数字的参数,包括:
  2. -2:指定要执行的第二个文件名。
  3. -3:指定要执行的第三个文件名。
  4. -4:指定要执行的第四个文件名。
  5. -5:指定要执行的第五个文件名。
  6. -6:指定要执行的第六个文件名。
  7. -7:指定要执行的第七个文件名。
  8. -8:指定要执行的第八个文件名。
  9. -9:指定要执行的第九个文件名。
复制代码
发表于 2023-2-17 20:16:22 | 显示全部楼层
我不知道GPT回答的是否准确。
我查到技术博主有这样总结:
关于参数,有人测试过不同参数一些结果,这里列一个表格。
注:不区分大小写。
参数        大致含义
%*        所有参数
%0、%1        第一个参数,就是当前文件的路径,虽然应用是16位时,路径是短路径,但是现在基本都是32位或64位的,所以基本都是长路径
%2 - %9        第二到第九个参数,具体是什么样的,抱歉,我也不清楚,emm
%D        当前目录路径
%H        不清楚什么意思,不过结果总是0
%I        每次都是不同的数字:number:number这样的结构
%L        同%1,不过是固定长路径,所以都说这个更好
%S        同%H不清楚,但每次都是1
%V        具体解释不太清楚,好像说是在没有动作的情况下什么什么的,不过基本上也是当前的路径
%W        workspace, 当前文件的父目录的路径,不过有人说这个似乎会出点问题

以上参数比较常用的就是%1,%L,%V这三个。

原文链接:https://blog.csdn.net/meng_suiga/article/details/79485855
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:43 , Processed in 0.091206 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表