有没有办法直接从windows中的cli使用perl的重命名,就像在gnu / linux上的bash一样? 像
rename 's/\ /_/g' *
我有一个脚本要做一些重命名(namefix.pl
#!/usr/bin/perl
print join("\n",map{$o=$_;y/A-Z ,()[]/a-z_-/;s/_-_/-/g;s/-\././g;rename($o,$_)?$_:"Didn't rename $o: $!"}<*>),"\n";
)空间和其他东西很棒,但我的意思是,在不调用脚本的情况下,直接从cli重命名内容,使用上面的内容仅仅作为我在bash终端中如何做的示例(好像你们都不知道的那样。)
如果没有,有没有简单的方法使用regexp重命名windows cmd.exe中的东西? (afaik,windows'ren不做正则表达式,但也许它确实......在过去14年中仅使用gnu / linux之后,这整个糟糕的操作系统对我来说基本上是新的,我对于不得不工作并不感到激动现在用它...呃)。任何可行的替代方案都可以像perl一样被我接受。我只想完成任务。我不挑剔。
答案 0 :(得分:1)
如果在Linux上调用perl脚本来满足你的重命名需求就足够了,那么为什么不在Windows上呢? ActiveState&amp; Strawberry将修改您的注册表以将.pl文件与其perl的实现相关联。
将脚本复制到Windows,添加.pl扩展名&amp;确保它在你的PATH中。
如果您想在不输入“.pl”的情况下调用它,那么您甚至可以告诉Windows .pl是一个带有PATHEXT环境变量的“可执行扩展”。当然,如果你这样做,那么你应该注意下面的警告&amp;使用与OS内置函数不冲突的名称。 (好赶上,池上)