This topic has been archived. It cannot be replied.
-
工作学习 / 学科技术讨论 / 哪为Windows script高手能帮我写个script批量更改文件名吗?谢谢。比如将下面的文件:
单田芳_贺龙传奇_001.mp3
单田芳_贺龙传奇_002.mp3
单田芳_贺龙传奇_003.mp3
单田芳_贺龙传奇_004.mp3
单田芳_贺龙传奇_005.mp3
该为
001.mp3
002.mp3
003.mp3
004.mp3
005.mp3
script的大概功能就是搜索当面目录下的特定扩展名的文件,如.mp3,然后以文件名中的数字序列重新对文件命名,并保持原来的扩展名。
如果不想费力写,告诉大概怎么做才能写Windows下的script也可以。熟悉UNIX下的shell scripting,但不了解Windows下如何实现。谢谢
-tdtq2009(tdtq);
2012-3-17
{445}
(#7362329@0)
-
既然熟悉unit 干吗不用shell写:1)cygwin 或者 2)GIT for windows 或者3)“GNU utilities for Win32”
-xw1196(新年找个新id);
2012-3-18
(#7364192@0)
-
谢谢,主要是unix下的shell对中文识别不好.所以想看Windows下的shell能不能识别中文.我回头有时间学习一下您提供的三个工具.
-tdtq2009(tdtq);
2012-3-18
(#7364260@0)
-
您客气了,这三个都不需要学习,因为它们都属于bash 在windows上的克隆,把unix下的shell脚本拿过来跑就是了。我就经常这么做,大部分时间是借用 “3)”。 项目驻留在 sourceforge。net。如果找不到我可以电邮给您。
顺便隆重请教:
fine . -name "*.[ch]" -o -name "*.[ch]pp" 能把*.c;*.h;*.cpp;*.hpp 找出来;我的问题是如何用find把所有不属于以上的集合找出来? 多谢!!!
-xw1196(新年找个新id);
2012-3-18
{352}
(#7364981@0)
-
-not
-geekcode(9527);
2012-4-30
(#7479141@0)
-
多谢,怪自己学艺不精!可以工作,还没试过 -not,回头试试。感谢
-xw1196(新年找个新id);
2012-5-5
{41}
(#7492696@0)
-
应该可以用看图软件ACDSee的批量更改文件名的功能。
-lafeit(lafeit);
2012-3-18
(#7364893@0)
-
Highlight all files in a File Explorer folder you want to change names, then click on one file(starting file) to rename. The rest of files will be updated automatically in alphabetical order using the same name as the starting file.
-youngking(EEstor);
2012-3-18
(#7364999@0)
-
找这个软件,免费的, Bulk Rename Utility。可以有很多的选择去掉文件名里面的东西,如果你懂正值表达式,也可以用。
-kevin_tor(KFC);
2012-3-18
(#7365114@0)
-
Just write a VBA script in Excel and execute the code within Excel.
-jeffrey815(Smartiecat);
2012-3-18
(#7365268@0)
-
for /F "tokens=1-3 delims=_" %1 in ('dir /b 单田芳_贺龙传奇_*.*') do ren %1_%2_%3 %3上面这个 dos 命令组合把当前目录下“单田芳_贺龙传奇_*.*” 替换成 *.*。
请理解后慎用,如有误操作概不负责。
-xmlhttprequest(build5381);
2012-3-18
{105}
(#7365351@0)
-
It doesn’t work.1. DOS has same problem to read Chinese as UNIX.
2. LZ asked replace [\d]+.mp3 to 单田芳_贺龙传奇_[\d]+.mp3
-deep_blue(BLUE);
2012-3-19
{110}
(#7365749@0)
-
反正用通配符,不需要支持汉字,上面的命令行肯定行的。这个也行 FOR /F "token=1,2* delims=_ " %i in ('dir /B/N/A-D') do ren %i_%j_%k %kdelims=_是下划线
-baalinca(不记得了);
2012-3-19
{16}
(#7366988@0)
-
works on my win7
-xmlhttprequest(build5381);
2012-3-19
(#7367197@0)
-
If Chinese is not consideration, using FORFILES is more straightforward.FORFILES /P FolderOfFiles /M *.mp3 /C "cmd /c ren @path 单田芳_贺龙传奇_@file"
-deep_blue(BLUE);
2012-3-20
{80}
(#7367991@0)
-
xp也行,这是dos命令,肯定都行。
-baalinca(不记得了);
2012-3-21
(#7371799@0)
-
use power shell
-binghongcha76(一只大猫);
2012-3-19
(#7366457@0)
-
如果熟悉 regex, 在 text editor 中生成.
-13qiao(. ) ( .);
2012-3-20
(#7368776@0)
-
for /f "Tokens=1" %%a IN ('dir /b /o-d .') do (
ren %%a %%a.new
)
-happypassenger(Happy Passenger);
2012-4-6
(#7416961@0)
-
REN 单田芳_贺龙传奇_*.mp3 *.mp3
-diresu(makeITwork);
2012-4-30
(#7477496@0)