标题: [求助]这段批处理还能简化些吗?[已解决]
[打印本页]
作者: lotsunhim
时间: 2008-4-15 14:36
标题: [求助]这段批处理还能简化些吗?[已解决]
@echo off
for /f "delims=" %%i in ('dir X:\test8 /b') do move "X:\test8\%%i\%%i.lnk" %temp%
for /f "delims=" %%i in ('dir X:\test8 /b') do move "X:\test8\%%i\%%i.log" %temp%
for /f "delims=" %%i in ('dir X:\test8 /b') do move "X:\test8\%%i\%%i.txt" %temp%
for /f "delims=" %%i in ('dir X:\test8 /b') do move "X:\test8\%%i\%%i.url" %temp%
@pause
我觉得还能简单一些,但不太懂啊!唯有请大家帮忙了。
[
Last edited by lotsunhim on 2008-4-20 at 12:24 AM ]
作者: abcd
时间: 2008-4-15 14:40
dir X:\test8 /b
这样出来的结果里面有文件夹和文件
而楼主的X:\test8\%%i\%%i.lnk
中%%i似乎是文件夹的样子嘛
作者: lotsunhim
时间: 2008-4-15 14:53
因为那些没用的文件是根据文件夹名称生成的,所以根据文件夹名字去删除文件夹里那些文件啊
作者: bat-zw
时间: 2008-4-15 16:14
标题: 根据楼主意思信手写的:
@echo off
for %%i in (lnk,log,txt,url) do (
for /f "delims=" %%j in ('dir /ad /b x:\test8') do move “x:\test8\%%j.%%i” %temp%
)
pause>nul
[
Last edited by zw19750516 on 2008-4-15 at 05:36 PM ]
作者: zh159
时间: 2008-4-15 16:36
PS:只修改LS的
LS的是每种扩展名都要搜索一遍所有文件夹
应该反过来,这样效率好些:
@echo off
for /f "delims=" %%i in ('dir /ad /b x:\test8') do (
for %%j in (lnk log txt url) do echo move "x:\test8\%%i.%%j" %temp%
)
)
pause>nul
这样是每个文件夹分别搜索设定扩展名的文件
作者: bat-zw
时间: 2008-4-15 16:45
Quote: |
Originally posted by zh159 at 2008-4-15 16:36:
PS:只修改LS的
LS的是每种扩展名都要搜索一遍所有文件夹
应该反过来,这样效率好些:
[code]@echo off
for /f "delims=" %%i in ('dir /ad /b x:\test8') ... |
|
按我理解效率应该是一样的
作者: lotsunhim
时间: 2008-4-15 16:47
呵呵,谢谢大家这么热心帮忙,这些都够用了。
不用遍历所有文件夹的。