在Perl中将文件移动到另一个目录?
当我运行在Perl中将文件移动到另一个目录?,perl,Perl,当我运行/programe file.txt dir/时,它总是失败 这里怎么了?来自perldoc的重命名: 此函数的行为因用户而异 系统实施。例如,它通常不起作用 跨文件系统边界,即使系统 命令有时会对此进行补偿。其他限制 包括它是否适用于目录、打开的文件或预处理文件- 现有文件。选中perlport和重命名(2) 详细信息,请参阅手册页或同等系统文档 对于独立于平台的“移动”功能,请查看 文件::复制模块 所以改用。重命名更改文件名,这不是您要做的。您可能想从使用移动功能。重命名需要的是完
/programe file.txt dir/
时,它总是失败
这里怎么了?来自perldoc的重命名: 此函数的行为因用户而异 系统实施。例如,它通常不起作用 跨文件系统边界,即使系统 命令有时会对此进行补偿。其他限制 包括它是否适用于目录、打开的文件或预处理文件- 现有文件。选中perlport和重命名(2) 详细信息,请参阅手册页或同等系统文档 对于独立于平台的“移动”功能,请查看 文件::复制模块
所以改用。
重命名
更改文件名,这不是您要做的。您可能想从使用移动
功能。重命名需要的是完整的目标路径,而不仅仅是目录。尝试:
rename $ARGV[0], $ARGV[1] or warn "rename fails: $!\n";
如果您能告诉我它失败的原因是什么,那就太好了。根据平台的不同,它可能在文件夹上工作,也可能不工作。c、 我的回答。错误信息是什么?始终显示完整的示例程序及其输入和输出,以防出现其他错误。
./progname file.txt dir/file.txt