标题: [求助]右键菜单命令串里不能使用变量吗?
[打印本页]
作者: pooronce
时间: 2008-8-1 12:52
标题: [求助]右键菜单命令串里不能使用变量吗?
例如我添加了个改名字的注册表项,command对应如下:
cmd /k for /f "delims=" %%i in ("%1") do set "abc=%%~nxi"© "%%i" %abc%__&ren "%%i" "%%~nxi_""
但是怎么也不能成功,copy出来的文件名只能是%abc%__,不会替换成相应的变量。
请问在这种使用情况下,%没办法表示变量的吗?那么这种情况下有没有办法使用使用变量呢?
(copy成%abc%__不是最终目的,我还需要将文件名进行其它处理:前面添加特定字串,后辍名最后一个字母换成下划线等)
作者: huahua0919
时间: 2008-8-1 13:36
你的%abc% 其实还没定义呢
set a=hehe &echo %a%
看看结果和你想象的是否一样
作者: yangzhiyi
时间: 2008-8-1 13:45
单条命令 for 不使用 %%i 是用%i
这命令在dos窗口执行理应支持那变量
作者: pooronce
时间: 2008-8-1 14:27
Quote: |
Originally posted by huahua0919 at 2008-8-1 01:36 PM:
你的%abc% 其实还没定义呢
set a=hehe &echo %a%
看看结果和你想象的是否一样 |
|
噢。。。谢谢,原来这样的情况也得用延迟变量了——我一直以为这样不用延迟的--!
加上 /V:ON ,改为惊叹号后成功了
作者: pooronce
时间: 2008-8-1 14:30
得用%%,用%便不起作用了。。。
顺便请教下,那挤在一行命令里,有办法不用延迟起效吗。
或者,注册表里这样对应的能拆成多行吗,或者还有其它办法能使多行挤到一行吗
作者: huahua0919
时间: 2008-8-1 14:32
有办法啊,用call
call,echo %%abc%%
作者: pooronce
时间: 2008-8-1 14:46
果然好用,再次感谢:)