![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 09:55 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助:转换ANSI编码的bat在注册表里命令安顺序执行方法 |
| 可打印版本 1,024 / 9 |
| 第1楼 lqs623 | 发表于 2010-04-16 16:30 |
| 贫困用户 发帖 30 积分 -3 | |
|
求助:转换ANSI编码的bat在注册表里命令安顺序执行方法 求助:文本转换为ANSI编码的bat在文件右键菜单里使用,命令安顺序执行的方法
注册表键值数据为:(可以在文件右键菜单里使用。多个文件同时转换为ANSI编码) C:\WINDOWS\system32\cmd.exe /c Md temp & For %%a in ("*.reg") Do Type "%%a" > temp\"%%a" & Copy temp\"*.reg" /y & Del temp\*.reg 改为: C:\WINDOWS\system32\cmd.exe /c Md temp & For %%a in ("*.reg") Do Type "%%a" > temp\"%%a" & Copy temp\"*.reg" /y & Del temp\*.reg & Rd temp 即加上结尾的“& Rd temp”直接运行不完Copy temp\"*.reg"这一步,“& Rd temp”就运行结束,怎样修改能实现以下bat(以下bat可用) Md temp For %%a in ("*.reg") Do Type "%%a" >temp\"%%a" Copy temp\"*.reg" /y Del temp\*.reg Rd temp 全过程,可以在文件右键菜单里使用(多个文件同时转换为ANSI编码) 在注册表里完整的项键值数据REG如下: Windows Registry Editor Version 5.00 @="C:\\WINDOWS\\system32\\cmd.exe /c Md temp & For %%a in (\"*.reg\") Do Type \"%%a\" > temp\\\"%%a\" & Copy temp\\\"*.reg\" /y & Del temp\\*.reg" [ Last edited by lqs623 on 2010-4-16 at 19:00 ] |
|
| 第2楼 Hanyeguxing | 发表于 2010-04-16 18:15 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
为什么用一个连串的命令,而不用一个批处理呢?
键值为:"C:\Hanyeguxing.bat" "%1" %* 然后在批处理里接收并使用参数 [ Last edited by Hanyeguxing on 2010-4-16 at 18:16 ] |
|
| 第3楼 lqs623 | 发表于 2010-04-16 19:13 |
| 贫困用户 发帖 30 积分 -3 | |
|
非常谢谢我没想到,我我怎么就没想到呢。我真笨。
|
|
| 第4楼 lqs623 | 发表于 2010-04-16 19:26 |
| 贫困用户 发帖 30 积分 -3 | |
|
但我想连串的命令不受缺少了Hanyeguxing.bat的影响,是不是在注册表里单独解决不了,而用"C:\Hanyeguxing.bat" 解决?谢谢!
|
|
| 第5楼 Hanyeguxing | 发表于 2010-04-16 19:30 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
Originally posted by lqs623 at 2010-4-16 19:26: cmd后跟多个 string 使用多个命令 可以在 string 中使用由 && 分隔的多个命令,不过这些命令必须置于引号之中(例如,"command&&command&&command")。 [ Last edited by Hanyeguxing on 2010-4-16 at 19:40 ] |
|
| 第6楼 lqs623 | 发表于 2010-04-17 13:08 |
| 贫困用户 发帖 30 积分 -3 | |
Originally posted by Hanyeguxing at 07:30 PM: 经过实验发现“键值为:"C:\Hanyeguxing.bat" "%1" %*的过程是:第一个命令对所有文件执行完,第二个命令才运行,也是对所有文件执行完,第三个命令才运行 而不用"Hanyeguxing.bat"方法的过程是:第一个文件被上面五个命令执行完,第二个文件才开始被上面五个命令执行,这种方式造成多文件被执行时中断。(好像整个过程不简洁)主要无法完成目的 [ Last edited by lqs623 on 2010-4-17 at 13:09 ] |
|
| 第7楼 Hanyeguxing | 发表于 2010-04-17 14:01 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
崩溃。。。。。。
cmd后跟多个 string 指定是cmd后跟的命令 例如cmd /q /k echo.123 这个echo.123就是 string 使用""引号引起来是为了使"........."中的多个命令同时作为cmd的子命令。 使用&&连接是为了只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令。 你可以自己看C:\WINDOWS\Help\ntcmds.chm::/ntcmds_shelloverview.htm 和C:\WINDOWS\Help\ntcmds.chm::/cmd.htm [ Last edited by Hanyeguxing on 2010-4-17 at 14:05 ] |
|
| 第8楼 lqs623 | 发表于 2010-04-17 16:22 |
| 贫困用户 发帖 30 积分 -3 | |
|
请给看看下面键值,对只有一个的reg文件的目录可用,对有多个reg文件目录不能用,帮忙谢谢!!
C:\WINDOWS\system32\cmd.exe /k "Md temp && For %%a in ("*.reg") Do Type "%%a" > temp\"%%a" && Copy temp\"*.reg" /y && del temp\*.* /q && rd temp" |
|
| 第9楼 Hanyeguxing | 发表于 2010-04-17 16:32 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
在cmd里使用for时,即不在批处理里使用,那么%%a要写成%a,类推!
|
|
| 第10楼 lqs623 | 发表于 2010-04-17 16:46 |
| 贫困用户 发帖 30 积分 -3 | |
|
改键值如下,什么情况都不能用。
C:\WINDOWS\system32\cmd.exe /k "Md temp && For %a in ("*.reg") Do Type "%a" > temp\"%a" && Copy temp\"*.reg" /y && del temp\*.* /q && rd temp" |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |