找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22508|回复: 3

[文件操作] [已解决]批处理如何实现建立文件夹并转移文件?

[复制链接]
发表于 2012-7-23 14:56:03 | 显示全部楼层 |阅读模式
本帖最后由 lingyun007 于 2012-7-23 17:35 编辑

请高手赐教!
现有一文件夹内有*.txt和*.jpg两种文件,即文件名相同的两类文件,现在需要创建新文件夹,文件夹名与文件名相同并增加文件大小,同时将两个文件名相同的文件转移到新建的文件夹中。

例如:A文件夹中有111.txt、222.txt、333.txt……111.jpg、222.jpg、333.jpg……等文件
      需要创建文件夹“111 [1.201M]”,将111.txt和111.jpg两个文件放入。1.201M为111.jpg文件的大小。
      需要创建文件夹“222 [1.333M]”,将222.txt和222.jpg两个文件放入。1.333M为222.jpg文件的大小。
      需要创建文件夹“333 [1.054M]”,将333.txt和333.jpg两个文件放入。1.054M为222.jpg文件的大小。
以此类推。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2012-7-23 15:32:52 | 显示全部楼层
本帖最后由 乱码 于 2012-7-23 15:36 编辑
Set fso = CreateObject("Scripting.FileSystemObject")
For Each x In fso.GetFolder(".").Files
'遍历本文件夹所有文件
   
If LCase(fso.GetExtensionName(x.Name)) = "txt" Then '如果是txt就进行操作
        
BaseName = fso.GetBaseName(x.Name) '获取文件名
        
Set jpg = fso.GetFile(BaseName & ".jpg") '获取同名图片
        
folderName = BaseName & " [" & Int((jpg.Size/1024/1024)*1000)/1000 & "M]" '生成文件夹名称
        
If Not fso.FolderExists(folderName) Then fso.CreateFolder folderName '没有该文件夹就创建
        
x.Move folderName & "\" '移动txt到同名文件夹下
        
jpg.Move folderName & "\" '移动jpg到同名文件夹下
   
End If
Next
MsgBox "OK"


试试看这个vbs脚本,bat我不会、

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2012-7-23 16:08:31 | 显示全部楼层
不是高手

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in (*.jpg) do (
  4.     call :div %%~zi 1048576 3 n
  5.     set dirname=%%~ni [!n!M]
  6.     mkdir "!dirname!"
  7.     move  %%~ni.txt ".\!dirname!"
  8.     move  %%~ni.jpg ".\!dirname!"
  9. )
  10. pause & goto :eof

  11. :div
  12. setlocal enabledelayedexpansion
  13. set /a a = %1, b = %2, c = %3, d = a / b, e = a %% b * 10
  14. set r=%d%.
  15. for /l %%i in (1, 1, %c%) do (
  16.     set /a d = e / b, e = e %% b * 10
  17.     set r=!r!!d!
  18. )
  19. endlocal & set %4=%r%
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-7-23 17:30:47 | 显示全部楼层
非常感谢两位高手,虽然看不太懂,但是实现了结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 14:15 , Processed in 0.030756 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表