【发布时间】:2016-01-08 18:46:53
【问题描述】:
我要做的是取出 bcp 日志文件(日志文件夹)并将其移动到具有当前时间的另一个目录(历史文件夹)。但是,每次我执行这个 Perl 脚本时,它都会显示“第 18 行没有这样的文件或目录”
下面是我的代码:
## SET FILE PATHS
my $myBCPDump = "//Server-A/X:/Main Folder/Log/bcpLog.txt";
my $myBCPLog = "//Server-A/X:/Main Folder/History/bcpLog" . $myDate . ".txt";
my $isJunk = "rows successfully|rows sent to SQL|packet size|Starting copy|^\n|Clock Time";
open (LOGFILE, ">$myBCPLog") or die $!; ##Line 18
close (LOGFILE);
我知道它找不到文件或目录是因为 ##SET FILE PATHS 没有正确执行,我不知道为什么。
【问题讨论】:
-
您使用的是什么操作系统?
//Server-A/X:/...在 Windows 中不是有效路径,我之前在 unix 中从未见过类似的东西。 -
你的意思是它不是一个有效的路径?
-
:不允许使用,除非在驱动器号 (C:...) 之后。但是您有一个 UNC 路径 (\\server\share\...),而这些路径没有驱动器组件。你的意思是//Server-A/X$/...吗?不要忘记转义$ -
我已经尝试过了,它仍然给了我同样的错误。
-
Windows API 可以互换地接受 / & \,但请注意 Perl 中的字符串文字可能会在各种情况下使用 \ 作为转义字符,尤其是在 UNC 路径的开头。
标签: perl