求DOS或C++,Delphi写一程序,简单

来源:百度知道 编辑:UC知道 时间:2024/05/30 14:26:46
问题是这样的。
老师让我写一个收作业的程序,也就是通过循环建立IPC$连接把每个IP的某个盘符下某个文件夹下的文件复制到本机某个文件夹下且不能重命名。
基本我已经实现了,但是还有很多问题。
如,如何知道局域网中存在的IP?肯定有关闭的电脑,如果是这样复制的时候会耗费很多的时间,且DOS窗口一直卡在那里,直到Time Out.
第2是也是以上面的问题为主,用ping?也是相当的慢,且dos里面如何分解字符串整理Ping出来的IP呢?使用scan?
第3是,除了用DOS+其他工具请专家朋友们用C++或delphi写个核心代码,
这个程序应该没什么难度,谢谢大家,200分外加奖励。
写好的简单的dos代码如下:
rem for /l %%i in (11 1 55) do net use \\172.16.1.%%i\ipc$ "1" /user:"student" & copy \\172.16.1.%%i\d$\1.rar d:\%%i.rar rem 本地
希望看的懂的朋友帮助我一下,谢谢。

帅哥,我搞掂了,用的是批处理和一个vb脚本,vb脚本只是实现它隔一段时间运行一下批处理,并让批处理在后台运行,不会卡在那!
批处理主要实现检测哪些开了电脑的,开了就复制作业!给个联系方式吧!我发给你

PS:说真的,我觉得你们老师挺无聊的,因为要实现这样子收作业的话,每台电脑都要有个student的账号,密码为“1”,还要开共享。事实上,真正的操作是老师开个ftp,学生直接上传作业就完了。所以,我的建议是:实现基本功能就行,对DOS有兴趣的,可以自己找些有实用性的。呵呵……啰嗦了!不好意思

可以编写一个ipc.bat:
net use \\172.16.1.%1\ipc$ & copy \\172.16.1.%1\d$\1.rar e:\%1.rar

然后建立一个DELPHI来并发调用这个BAT文件就行了(最简单的,只要一个空白的窗体),代码如下:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:integer;
implementation

{$R *.dfm}

procedure Timerip(handle:Thandle; msg:word; identer:word; dwtime:longword);stdcall;