脚本选择性失效!!help!![求助]

脚本选择性失效!!help!![求助]

脚本选择性失效!!help!![求助]
请大家帮帮忙看一个脚本!!这是一个放在ubuntu下nautilus-scripts文件夹的脚本,功能是把你想要文件复制到u盘(不支持文件夹)
问题:对于文件名有空格和文件名是中文的文件都复制不了,不知道怎样解决,望高手们赐教!
还有一个小菜的技术问题,我的脚本复制是调用系统的cp,我本来是想用FILE::COPY的copy函数的,但我试了一下,copy的第一个参数是不能用变量来代替的,而第二个就可以,不知道为什么;而我用文件句柄也不行,不过我不确定我调用的是否正确,请高手解答!!如果大伙们有什么好的意见,还请多多赐教!不胜感激,谢谢1!

#!/usr/bin/perl -w
use strict;
#use File::Copy;
my @file;
foreach(split /\n/,$ENV{NAUTILUS_SCRIPT_SELECTED_URIS}) #这是把选择的文件名付给数组,请看下边!
{
if($_=~s#^file://(/.*)$ # $1 #sx)#把fille///home这样的文件路径转为/home这样的可识别的路径
{
push @file,$_;
}
}
my $path="/media";
my @dir;
foreach(<$path/*>)#挂载目录
{
if($_!~/everything.*|winxp|soft.*|cdrom0?/i)#排除我的硬盘,只留下u盘
{
push @dir,$_;
}
}
my $command;
foreach(@file)
{
$command="cp $_ $dir[0]";
system $command;          #调用cp复制文件
}
open AS,">","ddd"||die "can:$!\n";  #测试阶段:记录要复制的文件名,用作结果的对比!
foreach(@file)
{
print AS "$_\n";
}

nautilus-scripts文件夹
文件夹中的所有执行文件将显示在脚本菜单中。从该菜单中选择某脚本将会执行那个脚本。

当从本地文件夹中执行时,选中的文件名将会被传递给脚本;当从远程文件夹中执行时(如显示 Web 或 FTP 内容的文件夹),脚本将不会使用任何参数。

在各种情况下,下列脚本可以使用的环境变量会被 Nautilus 设置:

NAUTILUS_SCRIPT_SELECTED_FILE_PATHS:用新行分开的所选文件的路径(除非是本地文件)

NAUTILUS_SCRIPT_SELECTED_URIS:用新行分开的所选文件的 URI

NAUTILUS_SCRIPT_CURRENT_URI:当前位置的 URI

NAUTILUS_SCRIPT_WINDOW_GEOMETRY:当前窗口的位置和大小




   

好的1!我试一下1!但大伙.
好的1!我试一下1!但大伙有没有不用system的解决方法啊?
按照而楼的说法,还是不行.
按照而楼的说法,还是不行1!
空格和中文名的都不行?.
都不行!!无论我怎样调式.
都不行!!无论我怎样调式!!还是不行!大家有没有什么想法啊?
是这样,单还是不行.