找回密码
 加入
搜索
查看: 11973|回复: 27

[AU3基础] 截取的DOS出来的字串符 To Ini

 火... [复制链接]
发表于 2012-4-20 22:05:45 | 显示全部楼层 |阅读模式
本帖最后由 jet7253 于 2012-4-21 19:28 编辑

小弟想劫取的DOS底下的文字
是不是可以请懂的大大们
随便劫取一行给小弟一个例子就行了......(这是DOS的指令)
以以下出现的字符教教小弟
因为关于DOS的标题的文章不多......
所以贸昧的发表问题一下
希望大大们不吝赐教
十分感谢
C:\>Bcdedit

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  zh-TW
inherit                 {globalsettings}
default                 {current}
resumeobject            {78bd8f43-b351-11de-b4a3-889719df90c1}
displayorder            {current}
                        {78bd8f47-b351-11de-b4a3-889719df90c1}
toolsdisplayorder       {memdiag}
timeout                 1

Windows的开机载入器
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  zh-TW
inherit                 {bootloadersettings}
recoverysequence        {78bd8f45-b351-11de-b4a3-889719df90c1}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {78bd8f43-b351-11de-b4a3-889719df90c1}
nx                      OptIn
numproc                 4
usefirmwarepcisettings  No

真实模式开机磁区
---------------------
identifier              {78bd8f47-b351-11de-b4a3-889719df90c1}
device                  partition=C:
path                    \NST\NeoGrub.mbr
description             NeoGrub Bootloader
发表于 2012-4-20 22:20:12 | 显示全部楼层
Bcdedit>result.txt
利用输出重定向把结果输出到文本文件里,然后再处理

评分

参与人数 1金钱 +10 收起 理由
jet7253 + 10 谢谢 这也是不错的作法

查看全部评分

发表于 2012-4-20 22:39:03 | 显示全部楼层
应该叫截取比较恰当

评分

参与人数 1金钱 +10 收起 理由
jet7253 + 10 哈哈XD

查看全部评分

发表于 2012-4-21 01:22:04 | 显示全部楼层
发个别人给的示例 感觉挺不错的。

#include <Constants.au3>
$foo = Run("bcdedit.exe", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($foo)
$text=StdoutRead($foo)
MsgBox(0, "STDOUT read:", $text)

kakinkgb 发表于 2008-7-26 21:04

评分

参与人数 1金钱 +30 收起 理由
jet7253 + 30 可以...但截取出来MSGBOX是空白的不知道是不 ...

查看全部评分

发表于 2012-4-21 03:58:45 | 显示全部楼层
论坛置顶帖,有个FAQ。真的很少有人会去看了。。。
 楼主| 发表于 2012-4-21 12:34:55 | 显示全部楼层
本帖最后由 jet7253 于 2012-4-21 13:23 编辑
论坛置顶帖,有个FAQ。真的很少有人会去看了。。。
haijie1223 发表于 2012-4-21 03:58


有看过但不会用请见谅 , 怎么截都截不到我要的......
我会再试试的...

zch11230 大
谢谢.
截取出来MSGBOX是空白的不知道是不是我用错了
使用IPCONFIG.EXE会截出IP等资料 用BCDEDIT.exe会变空白
使用环境为win7x64
发表于 2012-4-21 14:48:31 | 显示全部楼层
回复 6# jet7253


    我也是WIN7 X64 可以直接运行  你先试试直接在CMD下运行有没有反映,或者加上绝对路径试试。
 楼主| 发表于 2012-4-21 18:17:50 | 显示全部楼层
无法开启开机设定资料存放区。
存取被拒。
看来是我自己电脑不能执行的问题
直接在命令列下可以有作用
但是CMD下就不行了
难怪截取不到了
但还是谢谢你的帮忙
感激不尽
 楼主| 发表于 2012-4-21 19:27:51 | 显示全部楼层
本帖最后由 jet7253 于 2012-4-21 23:53 编辑

为了不变成无意义问题...就用一个例子..截取的DOS内文字 To Ini...顺便帮自己记录一下......
另外谢谢大家不吝啬教学
在这我学到太多了XD
#RequireAdmin 
#include <Constants.au3>
$foo = Run("ipconfig.exe", @SystemDir, @SW_HIDE,  $STDERR_CHILD + $STDOUT_CHILD)
ProcessWaitClose($foo) 
$text=StdoutRead($foo) 
Local $aini = @ScriptDir & "\Ini.ini"
If Not FileExists ($aini) Then 
        FileWrite ($aini, "")
EndIf
Local $var1, $var2
$var1 = StringMid($Text & @CRLF, 111, 15)
$var2 = 'ip='
IniWriteSection($aini, 'Ip位置', $var2 & $var1)
发表于 2012-4-21 20:19:00 | 显示全部楼层
回复 9# jet7253
好心提醒楼主一句:
DOS回显不是这样读滴!
试试下面的:
#RequireAdmin 
#include <Constants.au3>
$foo = Run("ipconfig.exe", @SystemDir, @SW_HIDE,  $STDERR_CHILD + $STDOUT_CHILD)
Local $text = ''
While 1
$text &= StdoutRead($foo)
If @error Then ExitLoop
WEnd
MsgBox(0, '', $text)
发表于 2012-4-21 21:40:07 | 显示全部楼层
回复 10# user3000
3000兄,怎么你的那种代码方式反而不行啊?

而楼上的代码方式是可以的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
user3000 + 10

查看全部评分

发表于 2012-4-21 22:09:14 | 显示全部楼层
回复 11# xms77

原来楼主发在9楼的代码真也能读!
我读不出是我把其中的 ProcessWaitClose 那行去掉了!

但在我发在10楼的代码经测试无问题!
这是新手问答区学来的知识, 我已经这么用'N'久了!
没想原来也可以这么读! 是AU3改版后的事?

也上图证明(跟运行环境有关? 我这 XP SP3, AUTOIT 3.3.7.15 :

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
jet7253 + 10 我程度不高&amp;#8203;&amp;#8203;..囧 其实我试了 ..

查看全部评分

发表于 2012-4-21 22:39:10 | 显示全部楼层
回复 12# user3000
这个也不行了,奇怪了!我的系统是win7,你的那个代码我曾经在xp sp3试过,是可以的,可能是我的系统有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2012-4-21 22:55:48 | 显示全部楼层
回复  user3000
这个也不行了,奇怪了!我的系统是win7,你的那个代码我曾经在xp sp3试过,是可以的,可能 ...
xms77 发表于 2012-4-21 22:39


我如果把IPCONFIG改成bcdedit.exe就不行了....囧
发表于 2012-4-21 23:16:44 | 显示全部楼层
回复 14# jet7253
我机器上没有文件,  bcdedit.exe. 从网上下了一个, 用9楼10楼代码方式都可以读到啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-13 10:25 , Processed in 0.100049 second(s), 32 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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