Board logo

标题: [文件操作] 求助,批处理判断文件大小并移动 [打印本页]

作者: 曾经的你    时间: 2018-9-20 11:38     标题: 求助,批处理判断文件大小并移动

要求:在当前文件夹判断

举个栗子,在D盘下“123”这个文件夹中有非常多的子文件夹,每一个子文件夹中又有好多的子文件夹或者文件,人工单一的进去选择非常的不便捷,所以需要直接判断文件的大小并移动到其他规定的文件夹中进行筛选。

需要:在当前文件夹判断,检测到大于30KB的文件,直接创建一个名称为“1”的文件夹(已经确定文件名称不重复),并将这些文件移动到“1”这个文件夹中
作者: Batcher    时间: 2018-9-20 13:13

  1. @echo off
  2. pushd "%~dp0"
  3. md 1
  4. for /f "delims=" %%i in ('dir /b /s /a-d "D:\123\"') do (
  5.     if %%~zi gtr 30720 (
  6.         move "%%i" "1\"
  7.     )
  8. )
复制代码

作者: 曾经的你    时间: 2018-9-20 13:21

回复 2# Batcher


    谢
作者: 曾经的你    时间: 2018-9-20 13:35

本帖最后由 曾经的你 于 2018-9-20 13:39 编辑

回复 2# Batcher


    刚才试了下运行后不行,只能产生一个名称为1的文件夹,而目录下其他文件却没有转移(目录已经修改)


我想要让其直接在当前文件夹下判断,而不需要每次输入目录进行判断
作者: Batcher    时间: 2018-9-20 14:38

回复 4# 曾经的你
  1. @echo off
  2. pushd "%~dp0"
  3. md 1
  4. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  5.     if %%~zi gtr 30720 (
  6.         move "%%i" "1\"
  7.     )
  8. )
复制代码

作者: 曾经的你    时间: 2018-9-20 14:49

回复 5# Batcher


  ok了,谢谢老大
作者: 曾经的你    时间: 2020-7-20 11:41

回复 5# Batcher


    出现重复的问题,重命名原文件名(后边加1或者随机数字就行),怎么改啊
作者: Batcher    时间: 2020-7-20 13:24

回复 7# 曾经的你


请参考其他代码里面的思路:
http://bbs.bathome.net/thread-11423-1-1.html#pid72681
http://bbs.bathome.net/thread-9355-1-1.html#pid60783
http://bbs.bathome.net/thread-9355-1-1.html#pid60621
作者: 曾经的你    时间: 2020-7-21 08:12

回复 8# Batcher


    谢谢大佬




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