2009年2月22日星期日

[PerlChina] Re: perl编译成可执行文件后,不能正常映射

问题已经解决了,原因是映射前没有从原映射中跳出来


On 2月22日, 下午2时09分, abc_tang <tang...@yahoo.com> wrote:
> 程序功能:自动映射到不同机器硬盘,获取测试信息,打印到屏幕.有可能用不同机器测试同一个产品的现象发生.
> 主要程序如下:
> while ($i<@data) #@data 保存所有的测试机器的信息
> {print ($i+1," A is tested at MC $data[$i]\n");
> map_hd("$data[$i]","$mapdir"); #根据测试机器,映射对应的HDD 到$mapdir盘符
> $mapdir++;
> word_search ($Lot_No); #查找相关测试数据
>
> while ($data[$i+1] eq $data[$i] && $i lt @data) #如果下次还是同一台机器测试,则不去映射
> {print ((++$i)+1," A is still tested at MC $data[$i]: No new logs.
> \n");}
> $i++;
> system ("net use * /delete /yes >nul 2>nul"); #删除所有映射
>
> }
>
> map_hd程序部分:
> sub map_hd
> { my $s_i=my $s_j =$_[0];
> my $s_mapdir = $_[1];
> system ("net use * /delete /yes >nul 2>nul"); #删除所有映射
> print ("map to $s_mapdir:\n");
> sleep 2;
> $s_i="\\"."\\cc01acp".$s_i."sc01\\c\$"; #根据测试机器生成映射目的
> $s_j="hcr\\uc01acp".$s_j."sc01"; #生成用户名
> system ("net use $s_mapdir: $s_i ina\@123 /user:$s_j ");#映射
> chdir ("$s_mapdir:\\ca\\T_4.3.2.2\\logs") or die ("$!");} #改变当前目录
> line120
>
> 问题是用perl 源文件执行时,没有问题.
> 但是用perlapp 生成可执行文件后, 如果出现一个产品前后在两台机器上测试的情况, 程序在第二次取数据时报错 :No such file
> or directory 在line 120上面.经过检查,发现第二次没有映射成功.
> 请帮忙分析一下,谢谢
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: