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

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

[复制链接]
发表于 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也没有发现什么异常的地方...
发表于 2008-1-3 12:06:09 | 显示全部楼层
NTLDR和ntldr不是同一个文件
回复

使用道具 举报

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

使用道具 举报

发表于 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的格式。

很笨哦!
回复

使用道具 举报

 楼主| 发表于 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;
}
回复

使用道具 举报

发表于 2008-1-4 18:38:52 | 显示全部楼层
文件跟文件夹当然不一样MOVEFILE看名字就知道了为什么不用rename
回复

使用道具 举报

 楼主| 发表于 2008-1-6 08:49:20 | 显示全部楼层
最终发现了问题:忘了FindClose致使文件夹始终处于占用中。呵呵谢谢楼上各位
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-20 00:58

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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