主要程序如下:
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 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论