我正在尝试使用perl system()
命令复制文件夹test_folder
中的所有文本文件。
system("cp","/computer/myname/Desktop/test_folder/*.txt","./");
如果我用某个特定的文件名替换*
,这是有效的,但我想一次性复制所有.txt
个文件。
我得到的错误是
cp: cannot stat '/computer/myname/Desktop/test_folder/*.txt' no such file or directory
答案 0 :(得分:5)
使用File::Copy
:
use File::Copy;
copy($_, './') for (</computer/myname/Desktop/test_folder/*.txt>);
答案 1 :(得分:2)
在Unix上,它是将*扩展为文件列表的shell。从Perl开始,你必须做同样的事情,例如:
system("cp", </computer/myname/Desktop/test_folder/*.txt> ,"./");
使用File::Copy
之类的标准模块而不是执行外部命令会更好。