无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2006|回复: 5
打印 上一主题 下一主题

[求助] 将一串字符写入内存,然后按空格为分隔符逐一读出处理用内置函数怎么实现?

[复制链接]
跳转到指定楼层
1#
发表于 2013-6-1 17:40:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
将一串字符写入内存,然后按空格为分隔符逐一读出处理用内置函数怎么实现?

比如说:

ls (hd0,0)/windows/system32 | set a=

上面这样写,肯定无法完整保存system32里面的全部文件、文件夹名称,因为变量不能超过512字节,想通过调用a变量来操作其他的就不行了;

我想通过将ls (hd0,0)/windows/system32 >  (md)0x20000+0x1000 这样写入一段内存,然后分别读出文件、文件夹的名称来操作,但是不知道怎么样实现?

求chenall指教!!!
2#
发表于 2013-6-1 19:18:47 | 只看该作者
用手机,不方便。你可以参考一下我写的那个文件列表模块。

点评

chenall 你好! 下面这个命令行我验证了ls (hd0,1)/windows/system32/ | call :echo1 这条语句是把system32所有的文件、文件夹名称作为参数传递出去了的, !BAT set /a n=0 ls (hd0,1)/windows/system32/ |  详情 回复 发表于 2013-6-1 22:54
恩,好的!谢谢chenall  详情 回复 发表于 2013-6-1 19:39
回复

使用道具 举报

3#
 楼主| 发表于 2013-6-1 19:39:46 | 只看该作者
chenall 发表于 2013-6-1 19:18
用手机,不方便。你可以参考一下我写的那个文件列表模块。

恩,好的!谢谢chenall
回复

使用道具 举报

4#
 楼主| 发表于 2013-6-1 22:54:23 | 只看该作者
chenall 发表于 2013-6-1 19:18
用手机,不方便。你可以参考一下我写的那个文件列表模块。

chenall 你好!

下面这个命令行我验证了ls (hd0,1)/windows/system32/ | call :echo1 这条语句是把system32所有的文件、文件夹名称作为参数传递出去了的,

!BAT
set /a n=0
ls (hd0,1)/windows/system32/ | call :echo1
exit

:echo1
if "%1"=="" exit
echo -e \n
echo %n% %1
set /a n=%n%+1
shift
goto :echo1

但是这下面的命令行只是显示到255行,是不是title的菜单行在一个配置文件当中只能有255行??
!BAT
echo default 0\ntimeout 10\n > (md)0x20000+0x800
set /a n=0
ls (hd0,1)/windows/system32/ | call :echo1
configfile (md)0x20000+0x800
exit

:echo1
if "%1"=="" exit
echo -e title [%n%] %1\nclear\n >> (md)0x20000+0x800
set /a n=%n%+1
shift
goto :echo1

点评

title菜单项确实有数量限制 最高255 之后的会忽略掉  详情 回复 发表于 2013-6-1 23:26
回复

使用道具 举报

5#
发表于 2013-6-1 23:26:03 | 只看该作者
zbkh 发表于 2013-6-1 22:54
chenall 你好!

下面这个命令行我验证了ls (hd0,1)/windows/system32/ | call :echo1 这条语句是把sys ...

title菜单项确实有数量限制  最高255  之后的会忽略掉

点评

哦,谢谢sratlf  详情 回复 发表于 2013-6-2 22:24
回复

使用道具 举报

6#
 楼主| 发表于 2013-6-2 22:24:00 | 只看该作者
sratlf 发表于 2013-6-1 23:26
title菜单项确实有数量限制  最高255  之后的会忽略掉

哦,谢谢sratlf
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-22 20:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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