根据当前目录下的文件生成网址列表的bat_DOS/BAT

功能要求: 
例如当面目录下有100个图片文件。文件名不一定有规律

如下图所示

我们想实现如下列表:

http://files.jb51.net/file_images/article/201305/2013051914225117.jpg
http://files.jb51.net/file_images/article/201305/2013051914225118.jpg
http://files.jb51.net/file_images/article/201305/2013051914225119.jpg
http://files.jb51.net/file_images/article/201305/2013051914225120.jpg
http://files.jb51.net/file_images/article/201305/2013051914225121.jpg
http://files.jb51.net/file_images/article/201305/2013051914225122.jpg
http://files.jb51.net/file_images/article/201305/2013051914225123.jpg
http://files.jb51.net/file_images/article/201305/2013051914225124.jpg
http://files.jb51.net/file_images/article/201305/2013051914225125.jpg
http://files.jb51.net/file_images/article/201305/2013051914225126.jpg
http://files.jb51.net/file_images/article/201305/2013051914225127.jpg
http://files.jb51.net/file_images/article/201305/2013051914225128.jpg
http://files.jb51.net/file_images/article/201305/2013051914225129.jpg
http://files.jb51.net/file_images/article/201305/2013051914225130.jpg
http://files.jb51.net/file_images/article/201305/2013051914225131.jpg

下面是实现步骤:

第一步:我们要获取当前目录下的jpg、gif、png格式的文件并保存到一个list.txt文本文件中。

复制代码 代码如下:

dir *.jpg *.gif *.png /b >list.txt

dir /b 就是只要获取文件名

第二步:通过bat中的for命令循环获取每一行list.txt的内容,并通过echo输入我们要加入的网址,最后保存到pic.txt文件中

复制代码 代码如下:

for /f %%i in (list.txt) do echo http://files.jb51.net/file_images/article/201305/%%i >>pic.txt

以上两步就完成了,我们可以讲bat写到一起。因为时间间隔问题,最好加个pause。

完整的bat代码如下:

复制代码 代码如下:

@echo off
del list.txt /f
dir *.jpg *.gif *.png /b >list.txt
pause
for /f %%i in (list.txt) do echo http://files.jb51.net/file_images/article/201305/%%i >>pic.txt

使用方法:将上面的文件,保存为getlist.bat复制到图片目录里面即可。双击执行,然后按任意键就可以了,网址列表就在pic.txt里面了

其它网友发的文章可以结合下

批处理(.bat)获取指定目录下的所有文件并生成列表

复制代码 代码如下:

@echo off
:: 判断输入路径是不是文件夹,如果是,则获取文件夹下的所有文件名(包括子文件夹下的)
:: 如果要文件名带上路径,则需要在dir这一句的%%~nxi上作改动
:: code by jm CMD@XP 2006-7-20

if exist list.txt del list.txt /q
:input
cls
set input=:
set /p input= 请输入要进行判断的路径:
set "input=%input:"=%"
:: 上面这句为判断%input%中是否存在引号,有则剔除。
if "%input%"==":" goto input
if not exist "%input%" goto input
for %%i in ("%input%") do if /i "%%~di"==%%i goto input
pushd %cd%
cd /d "%input%">nul 2>nul || exit
set cur_dir=%cd%
popd
for /f "delims=" %%i in ('dir /b /a-d /s "%input%"') do echo %%~nxi>>list.txt
if not exist list.txt goto no_file
start list.txt
exit

:no_file
cls
echo %cur_dir% 文件夹下没有单独的文件
pause

原创文章,请注明出处 http://www.jb51.net/article/37038.htm

时间: 2024-10-24 18:40:40

根据当前目录下的文件生成网址列表的bat_DOS/BAT的相关文章

PHP使用递归方式列出当前目录下所有文件的方法_php技巧

本文实例讲述了PHP使用递归方式列出当前目录下所有文件的方法.分享给大家供大家参考.具体实现方法如下: <?phpfunction filelist($pathname,$i){//定义一个filelist函数    $dir=opendir($pathname);    while(($file=readdir($dir))!== false){        $fname=$pathname."/".$file;        if(is_dir($fname)&&a

jsp编程获取当前目录下的文件和目录及windows盘符的方法_JSP编程

本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法.分享给大家供大家参考,具体如下: (一)获取当前目录下的文件和目录 知识点 1 file对象的应用 2 listFiles()方法 3 isDirectory()方法,isFile()方法 判断是否为目录或是文件 4转换字符串方法toString (1)创建一个file对象dir, 然后用listFiles()方法返回当前目录下所有文件 String path=request.getRealPath("/")

VBS获取当前目录下所有文件夹名字的代码_vbs

VBS获取当前目录下所有文件夹名字,不包括子文件夹.我要给每个文件夹进行操作,所以最好用循环输出. 测试的时候要保证当前目录下有文件夹才可以,否则输出为空. 复制代码 代码如下: Set ws=WScript.CreateObject("wscript.shell")w=ws.CurrentDirectorySet fso=WScript.CreateObject("scripting.filesystemobject")Set fs=fso.GetFolder(w

bat遍历生成文件夹下所有文件生成html连接

---------------------------------------------------------本行不复制----------------------1.bat------------------------------------------------------------------------------- @echo off setlocal set LISTFILE=list.htm echo MAKING LISTFILE - (PLEASE WAIT) rem

将目录下的文件按扩展名分类的bat代码_DOS/BAT

其实就是利用强大的for命令实现 实现代码: 复制代码 代码如下: for %%i in (*) do (md %%~ximove *%%~xi %%~xi)pause %~xI          - 仅将 %I 扩展到一个文件扩展名只打印文件的扩展名FOR /F "delims==" %%i IN ('dir /b') DO @echo    %%~xipause

Linux删除目录下的文件的10种方法

下午闲着没事儿,看到了一遍文章,便突发奇想的想起删除目录下的所有文件的方法;整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件 2.find . -type f -delete或find . -type f -exec rm -f {} \; #用find命令查找普通文件并删除or用find命令的处理动作将其删除 3.find . -type f | xargs rm -f #用于参数列表过长;要删除的文件太多 4.

LINUX find 命令怎么才能只找当先目录下的文件而不找子目录下的相同文件

问题描述 小弟目录如下 /home/mytest下面有4个包文件.zip,该目录下还有2011/02-2011目录这个目录下you同样的4个zip文件.问题:我用find . -name "*.zip" -print 查找,结果会打印出mytest 目录及子目录下的文件,我只想要4个可出来的是8个求解 怎么才能让只出来当前目录下的4个 问题补充:deepfuture 写道 解决方案 加个-maxdepth n参数指定查找最大深度就可以了find . -maxdepth 1 -name

单目录下多文件 makefile编写

 makefile很久就接触过了,但是一直没怎么深入的去学习和总结:在项目中我也只是看看makefile或者修改部分语句,全部自己动手写的话还真没有:知识在于沉淀,这句说的非常好,所以现在把自己理解的东西,记录下来,以便后面查阅:         这篇blog要分享的是在单目录下多文件的makefile编写,首先说明当前目录下有多少文件:fun.h   fun.c  main.c  makefile:其中*.c 文件都要依赖 *.h文件:         首先常规编译:         预处理期

Linux下计算文件的MD5值

脚本功能 脚本使用Perl编写,计算文件的MD5值 脚本用途 服务器在安装完操作系统后,计算PATH变量里面所有的二进制文件的MD5.计算单个文件MD5值.计算某个目录(包括子目录)下所有的文件的MD5值记录到文件,等日后再生成一份,然后2份文件进行对比,即可知道这些文件是否又被改动过. 脚本用法(5种用法) 脚本名 -p                   [ > 输出的文件名]  ← 该功能是计算PATH变量里面所有文件的MD5值  脚本名 文件1 文件2 文件3 ...  [ > 输出的