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

[其他] 求教cmd.exe /c 的使用

[复制链接]
发表于 2012-12-3 09:01:58 | 显示全部楼层 |阅读模式
自己写了一个脚本代码如下:
  1. @echo off
  2. set /p kzm=请输入扩展名,不包含"." :  

  3. set file=%1
  4. ren %file% "%~n1.%kzm%"
复制代码
想把上面的代码加到注册表里弄成右键菜单,但是用cmd.exe /c +上面代码时无效,求大神解决
 楼主| 发表于 2012-12-3 09:37:23 | 显示全部楼层
没有人吗?
发表于 2012-12-3 14:46:24 | 显示全部楼层
试下 CMD /K

看帮助
/C 是执行后中断
/K 是执行后保留
 楼主| 发表于 2012-12-9 13:11:37 | 显示全部楼层
回复 3# cutebe
现在的问题是用&&连接set /p kzm=请输入扩展名,不包含"." :  和set file=%1的话,直接就成一条命令了,变量kzm没有接收到输入的字符
发表于 2012-12-9 13:48:02 | 显示全部楼层
可以做成外部文件阿,再在注册表中调用外部文件就好了。
发表于 2012-12-9 14:25:40 | 显示全部楼层
实在要写进去就只好这样了,不太好看。
  1. REG ADD HKCR\*\shell\REN /VE /D "换扩展名(&R)" /F
  2. REG ADD HKCR\*\shell\REN\Command /VE /D "CMD /V:ON/Q/C"SET/pKZM=请输入扩展名,不包含 "." :^&^&FOR /F "DELIMS=" %%%%E IN ("%%1")DO REN "%%1" "%%%%~NE.!KZM!""" /F
复制代码
 楼主| 发表于 2012-12-9 14:54:17 | 显示全部楼层
回复 6# cutebe
效果出来了,非常感谢指导,但是有点不明白,那个for是干什么用的,望赐教
 楼主| 发表于 2012-12-9 15:34:29 | 显示全部楼层
回复 6# cutebe
  1. CMD /V:ON /Q /C"set/p kzm=请输入扩展名,不包含 "." :&& ren "%1" "%~n1.!kzm!""
复制代码
这样写为什么出错,每次改完文件名都是“%~n1.”什么的
 楼主| 发表于 2012-12-9 15:38:02 | 显示全部楼层
  1. setlocal ENABLEDELAYEDEXPANSION
  2. set/p kzm=请输入扩展名,不包含 "." :&& ren "%1" "%~n1.!kzm!"
复制代码
用bat文件就没错啊,烦死了
发表于 2012-12-9 15:46:15 | 显示全部楼层
注册表中只认 %1
不认类似 %~n1、%~x1 等之类的扩展

加了FOR就是人为的将它扩展,因为可以用 %%~na 之类的
 楼主| 发表于 2012-12-9 16:13:40 | 显示全部楼层
回复 10# cutebe

原来是这样的,非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 21:51 , Processed in 0.020306 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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