楼 主
[已解决]有无办法随机或顺序获取文件夹内的文件名
发表于 2008-05-22 10:35 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
完整标题:有没有办法随机/顺序获取文件夹内的文件名或完整文件路径,或者从txt列表中获取(txt中当然是每行一个路径或名称)
这个“获取”基本上的意思就是复制到剪贴板。
用脚本或命令行工具?
[ Last edited by tireless on 2008-5-22 at 02:11 PM ]
第 2 楼
发表于 2008-05-22 10:50 · 中国 四川 成都 联通
中级用户
★★
积分 297 发帖 135 注册 2006-10-21 12:00 19年会员 UID 67627 性别 男
状态 离线
第 3 楼
发表于 2008-05-22 11:00 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
不是复制整个txt,而是随即或顺序复制txt中的其中一行
第 4 楼
这个不要借第三方工具的:
发表于 2008-05-22 13:39 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
set _!n!=%%i
)
set /a lines=%random%%%%n%+1
echo !_%lines%!
pause>nul
批处理之家新域名:www.bathome.net
第 5 楼
发表于 2008-05-22 17:48 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
谢谢啊,这下可以随机更换壁纸了
可不可以再做个按顺序的?
[
Last edited by tireless on 2008-5-21 at 09:52 PM ]
第 6 楼
发表于 2008-05-22 18:03 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
Originally posted by tireless at 2008-5-22 17:48:
谢谢啊,这下可以随机更换壁纸了:P 可不可以再做个按顺序的?
[ Last edited by tireless on 2008-5-21 at 09:52 PM ]
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
set _!n!=%%i
)
:lp
set /a m+=1
cls&echo !_%m%!
if %m% equ %n% set m=0
echo 请按鍵显示下一张
pause>nul
goto lp
[
Last edited by zw19750516 on 2008-5-22 at 06:11 PM ]
批处理之家新域名:www.bathome.net
第 7 楼
发表于 2008-05-22 18:40 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@6 楼
呃~在哪个位置输出?(不要提示)
以下命令要放在哪个地方?
"D:\Program Files\IrfanView\i_view32.exe" !_%m%! /wall=2 /killmesoftly
第 8 楼
发表于 2008-05-22 22:24 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
10秒换一张:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
set _!n!=%%i
)
:lp
set /a m+=1
start "" "D:\Program Files\IrfanView\i_view32.exe" !_%m%! /wall=2 /killmesoftly
if %m% equ %n% set m=0
ping /n 11 127.1>nul&goto lp
[
Last edited by zw19750516 on 2008-5-22 at 10:26 PM ]
批处理之家新域名:www.bathome.net
第 9 楼
发表于 2008-05-23 08:09 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@8 楼
不错。试了,有用。。。如何去掉时间?我是用快捷键来更改的。
[ Last edited by tireless on 2008-5-22 at 12:13 PM ]
第 10 楼
发表于 2008-05-23 08:36 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
批处理怎么用快捷鍵啊
批处理之家新域名:www.bathome.net
第 11 楼
发表于 2008-05-23 08:58 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-22 12:36 PM:
批处理怎么用快捷鍵啊
不是,我是为这个批处理创建个快捷方式,再设置个快捷键。
...我好像明白了,批处理做不到每次运行都顺序选择下一行,只可以在一次运行中顺序选择,或者在每次运行中随机选择,是吗?
第 12 楼
发表于 2008-05-23 09:20 · 中国 上海 联通
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
Originally posted by tireless at 2008-5-23 08:58 AM:
不是,我是为这个批处理创建个快捷方式,再设置个快捷键。
...我好像明白了,批处理做不到每次运行都顺序选择下一行,只可以在一次运行中顺序选择,或者在每次运行中随机选择,是吗?
可以在每次运行的时候都向注册表里面写入一个记录
运行之前先去读取这个记录
这样就知道下次运行该选择哪一行了
第 13 楼
发表于 2008-05-23 10:01 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
第 14 楼
发表于 2008-05-23 10:04 · 中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
就用随机吧。多谢大家的帮助。
[ Last edited by tireless on 2008-5-22 at 02:09 PM ]
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正