windows命令行中巧妙使用for命令
参考:http://www.it.com.cn/f/edu/047/5/7703.htm
在命令提示符后键入“For /?”来获得具体帮助,中文的,很棒!
For %variable IN (set) do command [command-parameters]
%variable——指定一个单一字母可替换的参数
(set)——指定一个或一组文件,可以使用通配符
command——指定对每个文件执行的命令
command-parameters——为特定命令指定参数或命令行开关
在批处理文件xx.bat中使用 For 命令时,指定变量请使用“%%variable”,而不要用“ %variable”。变量名称是区分大小写的。
由于For命令的用法和参数非常多,变化复杂,可以在命令提示符后键入“For /?”来获得具体帮助。下面我们将直接讲述For命令的具体用法。
---------------------------------------------------------------------------------------------
批量改名今天的《xxxHoLic》漫画更新到了158话,我下载后,得到如下文件:(加粗为用户输入的内容)C:\>d: (输入D:以切换到D盘,否则下一个cd 命令无效)D:\>cd D:\xxxHoLic\vol14\158D:\xxxHoLic\vol14\158>dir/bXXXholic158_001.jpgXXXholic158_002-003.jpgXXXholic158_004.JPGXXXholic158_005.JPGXXXholic158_006.jpg
……(省略输出若干)
我想将它们改名为01.jpg~20.jpg用命令该怎样做呢?这里只提供一种可能的办法,实际上还有很多种方法。
D:\xxxHoLic\vol14\158>for %i in (01,04,05,06,07,08,09) do ren XXXholic158_0%i.jpg%i.jpg (for 命令中,%i变量遍历小括号中的内容)
D:\xxxHoLic\vol14\158>renXXXholic158_001.jpg01.jpg
……(命令回显会显示实际执行的命令,省略输出若干)
D:\xxxHoLic\vol14\158>renXXXholic158_009.jpg09.jpg
D:\xxxHoLic\vol14\158>for /L %i in (10,1,20) do ren XXXholic158_0%i.jpg %i.jpg
D:\xxxHoLic\vol14\158>renXXXholic158_010.jpg10.jpg
……(省略输出若干)
D:\xxxHoLic\vol14\158>ren XXXholic158_020.jpg20.jpg
D:\xxxHoLic\vol14\158>ren XXXholic158_002-003.jpg 02-03.jpg(最后手动改名)
D:\xxxHoLic\vol14\158>
以上主要通过for...in...do 结构及/L 参数,使得本来要19次的改名操作只用两个for命令及一个ren 就搞定。for 命令详细用法请参考其帮助页。
------------------------------------------------
批量“粉碎”文件D:\xxxHoLic\vol14\158> for %i in (*.jpg) do copy nul %i /y这里使用/y 来防止copy 的覆盖前提示。
------------------------------------------------
下载一系列图片:for+wget有时我们在网上看到一系列图片,想把它们都下载下来,怎么办?首先要取得图片的地址,只有当图片的地址有一定规律性时,才能使用此法下载:在图片上点右键->“属性”,然
后复制“地址”一栏的内容。假设要下载的图片地址很有规律,恰为http://www.example.com/下的1.jpg-100.jpg。
网上有很多命令行小程序,可以增强命令行的功能。这里使用GNU的GNUWget,该程序可通过HTTP、HTTPS、FTP协议下载文件。
官方网站:http://www.gnu.org/software/wget/。Windows版下载地址:http://www.christopherlewis.com/WGet/WGetFiles.htm
一般下载最新的稳定(stable)版本,解压后进入wget的安装目录,输入:
D:\soft\wget>md E:\pic(建立目录用来存放下载的图片)
D:\soft\wget>for /L %i in (1,1,100) do wget -P E:\pichttp://www.example.com/%i.jpg
(注意,wget中的参数以“-”开头,而不是“/”,而且严格区分大小写。这是Unix风格的参数写法。)
(-P 指定文件的存放位置。wget的其他功能请参考其帮助手册页)