关闭

关于在纯dos上运行ntdos来分配盘符

标签: dosntdos分区退出
487人阅读 评论(0) 收藏 举报
分类:

最近在搞纯DOS的编程,当中遇到了不少问题,其中有一个就是分区的问题。

首先我要找一个需要带参数运行f的分区工具,找了不久就找到了用gdisk来分区。

找到过后解决了分区的问题,但是又随之而来了另外的一个问题,当我把一个分区隐藏过后(设计需要),再重启过后就没有盘符了,这个就坑爹了,相当于我就没办法读写文件了,那这个问题困扰了我一天左右。后来在电脑上面运行了一下ntdos,发现盘符又回来了,所以我就让程序里面运行"system("ntdos");"。

本来以为问题到这里就解决了,结果又出现了一个大问题,当我的程序运行到了system("ntdos") 过后,我的程序就退回到了dos的命令行界面,这个坑大了,本来我只是想用一下它的盘符而已,结果这直接把我的程序退了。

这个时候我就乱来了,直接在命令行界面输入"exit",这个是退出ntdos的命令,结果发现,我的程序又接着运行了,我就发现了,是这个ntdos在捣鬼。然后我就上网看了一下,发现了ntdos的本来面目。

ntdos其实是相当于进了另外的一个叫NT的系统,当我们运行"ntdos"的时候,其实进了另外一个系统的界面,如果不退出的话,那么相当于"system("ntdos")"没有运行完,后面的语句当然也就不会运行了,那么怎么解决这个问题呢?

当时的思路是:我能不能在NTDOS这个系统中运行我的程序?

报着试一下的心态,我在纯DOS下运行ntdos,但是这个时候我带一个参数,这个参数就是我的程序,在dos的命令行输入"ntdos xxx",结果神奇的事情发生了,我的程序又运行起来了,所以我就在autoexec.bat的文件中写上"ntdos xxx"(因为我的程序要自启动),重启过后,成功了。

所以ntdos是可以带参数的,这个参数就是我们要运行的程序的名字,当然,如果要运行多个程序也可以试一下。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2207次
    • 积分:81
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类