【发布时间】:2015-08-29 11:59:25
【问题描述】:
use File::Copy;
#Variable with my directory I work on
$dir = "C:/projekty/perl/muzyka";
#Variables used to find all mp3 files
$dir_tmp = $dir."/*.mp3";
@files = glob( $dir_tmp );
#Variable with directory I want to create and put my files to
$new_dir = "C:/projekty/perl/muzyka/new_dir";
#Creating new directory
mkdir ( $new_dir ) or print "MKDIR PROBLEM";
到目前为止一切都很好。现在我把循环:
foreach( @pliki )
{
copy( $_, $new_dir) or print "COPY PROBLEM";
}
或:
foreach( @pliki )
{
move( $_, $new_dir) or print "MOVE PROBLEM";
}
问题是:复制工作得很好,但移动不想完成它的工作。它的工作有时取决于代码中的一些修改,但从不在循环中。 1行简单代码:
move($a, $b);
完美运行。但是,如果我使用某些条件或循环,即使参数(目录)看起来没问题(我用循环中的打印函数检查它们),它也会停止工作。为什么它不起作用?是否有任何情况会导致错误?
【问题讨论】:
-
print "MOVE PROBLEM: $!"是否有助于获取更多详细信息? -
没想到!老师说这个变量非常有用,我忘记了。它说“权限被拒绝”。如何授予权限?
-
chmod用于更改权限,chown用于更改用户和组所有权。它们都是命令行实用程序、Perl 函数和系统调用。 -
我正在使用 Windows。我已经更改了属性,但没有帮助。
-
尝试使用 windows
move/?从命令行移动相同的文件。
标签: windows perl command-line permissions