![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 06:21 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解決]將兩多只差別分析檔案不同的批處理程序簡化 |
| 可打印版本 838 / 6 |
| 第1楼 XZ | 发表于 2008-07-20 14:04 |
| 初级用户 发帖 65 积分 144 来自 Taiwan | |
|
[已解決]將兩多只差別分析檔案不同的批處理程序簡化 請問如下將下面的批處理簡化
當從DB-1~DB-10 這樣就要寫成好大一串 但是差別的只有檔案名稱與輸出的解果 謝謝!! 結果: [ Last edited by XZ on 2008-7-24 at 09:51 PM ] |
|
| 第2楼 lxmxn | 发表于 2008-07-21 06:29 |
| 版主 发帖 4,938 积分 11,386 | |
|
说实话,没听懂你要做什么。。
|
|
| 第3楼 XZ | 发表于 2008-07-22 19:11 |
| 初级用户 发帖 65 积分 144 来自 Taiwan | |
|
@@a
我表達能力太差了 就是 :Processor-DB-1 for /f "eol=# tokens=1,2,3* delims= usebackq" %%i in ( "%source%\9-DataBase\DB-1-Chip.ini" ) do ( set Match-DB-1-VDID=%%i set Match-DB-1-Name=%%j set Match-DB-1-Path=%%k reg query HKLM\SYSTEM\CurrentControlSet\Enum\PCI | find /i "%%i" >nul 2>nul && goto Match-DB-1 ) :Processor-DB-2 for /f "eol=# tokens=1,2,3* delims= usebackq" %%i in ( "%source%\9-DataBase\DB-2-Display.ini" ) do ( set Match-DB-2-VDID=%%i set Match-DB-2-Name=%%j set Match-DB-2-Path=%%k reg query HKLM\SYSTEM\CurrentControlSet\Enum\PCI | find /i "%%i" >nul 2>nul && goto Match-DB-2 ) 差別的地方就是 紅色和藍色的地方 請問要怎樣才能縮短批處理 因為一共有10個左右 DB-1-Chip.ini DB-2-Display.ini DB-3-Audio.ini DB-4-Lan.ini DB-5-...... DB-6-...... DB-7-...... DB-8-...... 勞帆各位解答了 若還有解釋不清楚的煩請告訴我一下 因為這實在是想不出來縮短的方法 只知道可能用 For /F 但是不知道怎了做 謝謝 |
|
| 第4楼 lxmxn | 发表于 2008-07-22 21:35 |
| 版主 发帖 4,938 积分 11,386 | |
|
没有测试,不过可以看看for+call 的思路,用call传递可变参数。 |
|
| 第5楼 XZ | 发表于 2008-07-24 20:05 |
| 初级用户 发帖 65 积分 144 来自 Taiwan | |
|
感謝您!!
雖然還是不行 至少我多學到一樣關於FOR的應用 ^^ 我在想想看 不行的話就直接寫著10行^^" 批處理的學問還真深奧 內容: 結果: [ Last edited by XZ on 2008-7-24 at 09:18 PM ] |
|
| 第6楼 XZ | 发表于 2008-07-24 21:50 |
| 初级用户 发帖 65 积分 144 来自 Taiwan | |
|
找到原因了ˇˇ
要把 % 改成 ! 可以繼續往下寫了 下次有問題在勞煩幫幫忙了 謝謝 :Match echo on echo. echo. !Match-DB-%~1-VDID:~0,8!^&!Match-DB-%~1-VDID:~-9! echo. !Match-DB-%~1-Name! echo. !Match-DB-%~1-Path! echo. !Match-DB-%~1-Runs! echo. !Match-DB-%~1-cmds! goto :eof [ Last edited by XZ on 2008-7-24 at 09:52 PM ] |
|
| 第7楼 XZ | 发表于 2008-07-24 21:59 |
| 初级用户 发帖 65 积分 144 来自 Taiwan | |
|
順道一問
這兩行一樣都是帶 DB-%~1 出來的結果怎麼會不一樣 FOR底下是全名DB-1-Chip.ini FOR之後的SET卻只有 DB-1 若我要取值至 DB-1-Chip 該如何做呢? 謝謝 語法 for /f "eol=# tokens=1,2,3,4* delims= usebackq" %%i in ( "%source%\9-DataBase\!DB-%~1!" ) do ( set Match-DB-%~1-VDID=%%i 結果 echo !DB-1! DB-1-Chip.ini for /F "eol=# tokens=1,2,3,4* delims= usebackq" %i in ("C:\Documents and Settings\misdrv\桌面\_In stallPubDriver_\9-DataBase\!DB-1!") do ( set Match-DB-1-VDID=%i 目前我只知道 會輸出 [ Last edited by XZ on 2008-7-24 at 10:17 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |