问题已经解决了,原因是映射前没有从原映射中跳出来
On 2月22日, 下午2时09分, abc_tang <[email protected]> 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 i...@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 讨论组”论坛。 要在此论坛发帖,请发电子邮件到 [email protected] 要退订此论坛,请发邮件至 [email protected] 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛 -~----------~----~----~----~------~----~------~--~---
