如何从当前目录中的所有文件名中删除空格

Gau*_*tam 4 language-agnostic filenames whitespace

正如标题所示,如何从当前目录中的所有文件中删除空格?

file name.mp3 应该成为 filename.mp3

注意:

  • 我愿意接受任何语言的答案.

Gau*_*tam 12

我是python的忠实粉丝,所以这里有一个python脚本来做同样的事情

import os
for f in os.listdir("."):
    r = f.replace(" ","")
    if( r != f):
        os.rename(f,r)
Run Code Online (Sandbox Code Playgroud)

  • 肯定[os.rename`](http://docs.python.org/library/os.html#os.rename)比调用`mv`更可取 (2认同)

Nah*_*eul 7

与sh

for file in *' '*; do [ -f "$file" ] && mv "$file" "`echo $file|tr -d '[:space:]'`"; done
Run Code Online (Sandbox Code Playgroud)

用Perl 5.14(替换y/ //drdo{($x=$_)=~y/ //d;$x}旧版本)

# Linux/Unix
perl -e 'rename$_,y/ //drfor<"* *">'
# Windows
perl -e "rename$_,y/ //drfor<'* *'>"
Run Code Online (Sandbox Code Playgroud)

用Java

import java.io.File;

public class M {

    public static void main(String[] args) {
        String o,n;
        for (File old : new File(".").listFiles()) {
            o=old.getName();
            if (!o.contains(" ")) continue;
            n=o.replaceAll(" ", "");
            old.renameTo(new File(n));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)