Answers:
vbScript应该为你做。创建一个名为“rename_underscores.vbs”的文件,其中包含以下内容。
Set objFso = CreateObject("Scripting.FileSystemObject")
Set Folder = objFSO.GetFolder("c:\test\")
For Each File In Folder.Files
sNewFile = File.Name
sNewFile = Replace(sNewFile,"_"," ")
if (sNewFile<>File.Name) then
File.Move(File.ParentFolder+"\"+sNewFile)
end if
Next
确保文件夹名称正确。(在示例中,我使用了c:\ test)然后双击您的文件进行重命名。
这属于dos bat文件的范围。创建一个bat文件(New-> Text file,将扩展名重命名为.bat),然后将下面的蓝色部分复制到其中。
我将它分成几部分并解释它在做什么。
稍后打印comparasson目录的当前状态
dir /b
列出目录中的文件,然后对于包含下划线并以.txt结尾的所有文件,在它们上面调用ProcessFile。
for %%f in (*_*.txt) do call :ProcessFile %%f
goto :finished
语法“str =%str:x = y%”用y替换x的实例。在这种情况下,我们用什么都不替换“_”
:ProcessFile
set str=%1
rename %1 %str:_=%
goto :eof
而已!
现在它只打印已更改的内容,以便我们确认它按预期工作;
:finished
echo ----
dir /b
结果(不属于bat文件)
baz_ing.txt
big_rawr.foo
foo_bar.txt
multiple_underscores_test.txt
----
bazing.txt
big_rawr.foo
foobar.txt
multipleunderscorestest.txt
我建议使用第三方工具,如批量重命名实用程序。它是免费的,它的安装程序小于1 MB。
正如其他人所提到的,如果不使用脚本或批处理文件,就无法完全按照自己的意愿行事。例如,在PowerShell中,您可以非常轻松地执行您想要的操作:
cd "C:\Users\MyName\Documents\MyDirectory"
Dir | Rename-Item –NewName { $_.name –replace "_"," " }
只需确保将“C:\ Users \ MyName \ Documents \ MyDirectory”替换为目录的路径。
有关更多详细信息和其他选项,包括您可以使用资源管理器执行的一些操作,请参阅此处:http://www.howtogeek.com/111859/how-to-batch-rename-files-in-windows-4-ways-对重命名,多文件/
这是我的批量重命名ruby脚本。我没有使用其他批量重命名工具,但我认为我的脚本非常易于使用且功能多样。以下是您案例的命令:
ruby bren.rb *_* "_/ "
我已经以这样的方式设置了我的windows环境bren.rb可以作为任何目录中的可执行文件执行。
基于Windows的重命名工具,功能最强大,而且是免费的。 http://www3.telus.net/pfrank/