Board logo

标题: 批处理一问一答 [ 第二篇 ] 文件操作 [打印本页]

作者: wxcute    时间: 2008-11-5 21:08     标题: 批处理一问一答 [ 第二篇 ] 文件操作

一问一答 [ 第一篇 ] 数值计算
http://www.bathome.net/thread-1880-1-2.html

规则同第一篇。
我问一个问题,楼下的人回答同时再出下一题。记住别忘了出题阿,出题不光是我一个人的事。

第一题:复制一个文件到别的目录,再打开或运行新目录中的文件。
    具体:复制 c:\windows 目录下的 NOTEPAD.EXE 到 d:\ 盘根目录下,然后运行 d:\ 盘下的这个它。

有兴趣的都来尝试。[ 不是新手就暂不答此题了 ]

[ 本帖最后由 wxcute 于 2010-1-12 21:31 编辑 ]
作者: wxcute    时间: 2008-11-7 16:10     标题: 楼上忘了出题了。

第二题:显示出你的音乐目录中所有 *.mp3 及 *.wma 格式的音乐文件,并输出到 musicList.txt 文件中。
只显示名字(文件名及扩展名),不需要完整路径;先显示再输出 或是 先输出再显示都可以。

说明:这种方法常被用来生成M3U播放列表。
作者: sylovanas    时间: 2008-11-7 17:28

for /r %MUSIC% %%g in (*.MP3 *.WMA) do echo %%~nxg>>MUSICLIST.TXT
作者: sylovanas    时间: 2008-11-7 17:44

for /r %MUSIC% %%g in (*.MP3 *.WMA) do echo %%~nxg>>MUSICLIST.TXT
IF EXIST MUSICLIST.TXT TYPE MUSICLIST.TXT
作者: sylovanas    时间: 2008-11-7 20:09

寻找在一资料夹中带有 我爱批处理 文字 的数字.TXT文件 ( 文件名称不含任何英文以及符号,如5633.TXT ),並且讓符合的文件列舉出來
作者: nomyself    时间: 2008-11-11 20:51

楼上的描述不是很清楚,可否列出一些文件列表,举个例子。
  1. dir /a /d /b *.txt |findstr /s /i "我爱批处理"
复制代码
我出个题目,比较实用点的:

你下载了压缩文件1000个,需要相同的密码123来解压。写个批处理解决:
作者: sylovanas    时间: 2008-11-11 21:15

FOR %%A IN ( "*.*" ) DO 7ZA E "%%~A" -P123 -O%%~A

这样?
  1. C:\123>DIR /B *
  2. 123456.TXT
  3. A45679.TXT
  4. 435.TXT
  5. BFE.TXT
  6. [123].TXT
  7. C:\123> TYPE 123456.TXT
  8. 床前明月光
  9. 我爱批处理
  10. 上述符合 文件名称只有数字.TXT , 内文含 "我爱批处理"
  11. C:\123> TYPE BFE.TXT
  12. 我爱批处理
  13. 床前明月光
  14. 上述不符合 文件名称含英文 , 内文符合 "我爱批处理"
  15. C:\123> TYPE [123].TXT
  16. 我爱批处理
  17. 上述不符合 文件名称含符号,内文符合 "我爱批处理"
  18. C:\123> TYPE 435.TXT
  19. 床前明月光
  20. 上述文件名称符合只带数字.TXT , 内文不符合 "我爱批处理"
复制代码
上述條件符合的只有123456.TXT

[ 本帖最后由 sylovanas 于 2008-11-11 21:21 编辑 ]
作者: wxcute    时间: 2008-11-13 12:18     标题: 回六楼:题目复杂了点,注意是对新手阿

给个我的六楼答案
  1. ::只处理当前目录,要处理子目录可自行修改。
  2. @echo off
  3. setlocal enableDelayedExpansion
  4. for /f "delims=" %%i in ('dir/b *.txt^|findstr /f:/ /m "我爱批处理"') do (
  5.  set fn="%%~nxi"
  6.  for /l %%n in (0 1 9) do set fn=!fn:%%n=!
  7.  if /i !fn!==".txt" echo %%i
  8. )
  9. pause>nul
复制代码
第四问:如何生成如下测试环境?

被帮助人的要求是:按数字顺序重命名某目录下(不含子目录)的文本文件。

问题如下:
你写好了一段代码,可是如果你没有可现成用于测试的目录,怎么用批处理生成一个考虑全面的测试环境呢?

方法不限,不管复杂简单;重点是要考虑全面。

[ 本帖最后由 wxcute 于 2008-11-13 12:39 编辑 ]
作者: hlzj88    时间: 2008-11-13 13:37

  1. @echo off
  2. copy c:\windows\NOTEPAD.EXE d:\&&start D:\NOTEPAD.EXE
  3. @echo 回车看第二种
  4. pause
  5. copy c:\windows\NOTEPAD.EXE d:\&&cd /d d:\&&start NOTEPAD.EXE
  6. pause
复制代码

问题如下,提起一批txt文件的第一行前10个字符或汉字来重新命名txt文件,要求去除空格等怪字符,如果第一行是空行,就提取第二行,

[ 本帖最后由 hlzj88 于 2008-11-13 13:43 编辑 ]
作者: yangsl1988    时间: 2009-12-16 16:05     标题: 回复 1楼 的帖子

@ECHO OFF
copy c:\widows\NOTEPAD.EXE D:\
Start explorer d:\NOTEPAD.EXE
作者: yangsl1988    时间: 2009-12-16 16:34     标题: 回复 3楼 的帖子

可不可以这样?
@echo off
dir /a /b *.mp3&dir /a /b *.wma>>MusicList.txt
tyep MusicList.txt
pause

[ 本帖最后由 yangsl1988 于 2009-12-16 16:35 编辑 ]
作者: tkggiu    时间: 2009-12-23 10:08     标题: 回复 1楼 的帖子

@echo off
copy %systemroot%\NOTEPAD.EXE D:\
start d:\NOTEPAD.EXE
exit

我的问题是,怎样用批处理修改一部下载好的连续剧名字(名字统一,序号不能改变)如:A1.rmvb;A2.rmvb;A3.rmvb````````等!
作者: pumahxh    时间: 2010-1-8 12:59     标题: 回复13楼

解答:ren a*.rmvb b*.rmvb
出题:要求开机自动打开设定的网页,如:www.bathome.net。自动输入用户名和密码,并登陆。
作者: keiamy    时间: 2014-1-31 14:12

寻找在一资料夹中带有 我爱批处理 文字 的数字.TXT文件 ( 文件名称不含任何英文以及符号,如5633.TXT ),並 ...
sylovanas 发表于 2008-11-7 20:09


也是參考wxcute 的
  1. @echo off
  2. dir /a /s /b "%~1\*.txt"|findstr "\\[0-9]*\.txt$"|findstr /i /f:/ /m "我愛批處理"
  3. pause
复制代码

作者: 尘丶    时间: 2015-6-11 19:28

题目出的好乱~~~
作者: impk    时间: 2019-9-1 11:22

  1. @echo off
  2. xcopy c:\windows\NOTEPAD.EXE d:\
  3. start d:\NOTEPAD.EXE
  4. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2