无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2445|回复: 6
打印 上一主题 下一主题

用cdimage.exe制作启动光盘的问题

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-3 11:43:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
命令行是这样的:cdimage -h -n -o -m -bboot.bin 3IN1 3IN1.ISO,做出来的PE可以启动。但是如果加上-d参数就不行了(不把文件名强制转换成大写),提示“CDBOOT: couldn't find NTLDR”,我的boot.bin是从nLite里拷出来的,用十六进制编辑器打开boot.bin也没有发现什么异常的地方...
7#
 楼主| 发表于 2008-1-6 08:49:20 | 只看该作者
最终发现了问题:忘了FindClose致使文件夹始终处于占用中。呵呵谢谢楼上各位
回复

使用道具 举报

6#
发表于 2008-1-4 18:38:52 | 只看该作者
文件跟文件夹当然不一样MOVEFILE看名字就知道了为什么不用rename
回复

使用道具 举报

5#
 楼主| 发表于 2008-1-4 18:32:17 | 只看该作者
原帖由 dgbgg 于 2008-1-4 01:49 PM 发表
偶也想找。现在一般这么用:
dir xxx /b>aa.txt
%programfiles%\ue\uedit32.exe aa.txt
用ue的列块模式把aa.txt编辑成
ren aa.bbb AA.BBB的格式。

很笨哦!


写了一个简单的程序,不过不知道MoveFile函数为什么不能处理目录...

/*
    将某个目录下所有的文件名统统转成大写
*/

#include <windows.h>
#include <iostream>
#include <vector>
#include <string>
using namespace std;

void FilesInDir(string, vector<string> &);

int main(int argc, char **argv) {
    if (argc != 2) {
        cout << "Usage: " << argv[0] << " <dir>" << endl;
        return -1;
    }

    vector<string> files;
    FilesInDir(argv[1], files);
    for (vector<string>::iterator i = files.begin(); i != files.end(); i++) {
        string newname = *i;
        transform(newname.begin(), newname.end(), newname.begin(), ::toupper);
//        cout << *i << endl;
//        cout << MoveFile((*i).c_str(), newname.c_str()) << endl;
        MoveFile((*i).c_str(), newname.c_str());
    }

    return 0;
}

void FilesInDir(string dir, vector<string> &ret) {
    WIN32_FIND_DATA wfd;
    HANDLE fh;
    BOOL b;

    for (b = ((fh = FindFirstFile((dir + "\\*.*").c_str(), &wfd)) !=
              INVALID_HANDLE_VALUE); b; b = FindNextFile(fh, &wfd)) {
        if ((string(wfd.cFileName) != "..") && (string(wfd.cFileName) != ".")) {
            ret.push_back(dir + "\\" + wfd.cFileName);
            if (wfd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) {
                FilesInDir(dir + "\\" + wfd.cFileName, ret);
            }
        }
    }

    return;
}
回复

使用道具 举报

4#
发表于 2008-1-4 13:49:59 | 只看该作者
偶也想找。现在一般这么用:
dir xxx /b>aa.txt
%programfiles%\ue\uedit32.exe aa.txt
用ue的列块模式把aa.txt编辑成
ren aa.bbb AA.BBB的格式。

很笨哦!
回复

使用道具 举报

3#
 楼主| 发表于 2008-1-3 12:57:53 | 只看该作者
呵呵谢谢二楼,发现大小写确实是区分的,不论是引导文件还是txtsetup.sif,还有很多其它文件。
还有个问题,有没有什么工具,比如批处理能够把一个文件夹里所有文件名都转成大写啊?
回复

使用道具 举报

2#
发表于 2008-1-3 12:06:09 | 只看该作者
NTLDR和ntldr不是同一个文件
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-27 17:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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