我一直在寻找我的问题的答案,所以我做了像程序的Windows-cmd,我的一个功能是重命名文件。如果旧名称/新名称中没有空格,那么一切都很好,但只要它是一个空间它根本不起作用。我一直在寻找如何从旧名称和新名称中删除空格(如果有的话),然后继续重命名并将空格放回去,但我不知道如何继续...我一直在读关于“修剪”的一些事情,但它没有帮助。这是我的代码的一部分:
elsif ($fr eq 'ren') {
$getmenu =~ s/ren //g;
my ($rf,$kb) = split /[ ]/,$getmenu;
rename($rf, $kb) || die "Error\n";
print "\n>$rf has been renamed as $kb\n";
}
答案 0 :(得分:1)
使用空格指示文件名的开头和结尾位置,因此名称中不可能有空格。这就是shell使用引用和转义机制的原因。您需要将它们引入您的命令语言。
答案 1 :(得分:0)
由于空格字符是个问题,我会:
这个问题说明了如何做到这一点: Replace whitespace with hyphen in Perl