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

[文件操作] 批处理如何判断某个盘是否大于指定容量,然后移动文件?

[复制链接]
发表于 2022-1-13 20:02:17 | 显示全部楼层 |阅读模式
  1. @echo off & setlocal enabledelayedexpansion
  2. :step
  3. set/a num=60
  4. for /l %%a in (!num! -1 1) DO (
  5. echo 剩余时间: [%%a]
  6. timeout /t 1 /nobreak>nul & cls
  7. )
  8. move E:\*.TXT H:\
  9. goto step
复制代码
这是我编辑的每60秒把E盘的TXT文本移动到H盘里。
现在我想把H盘做个更改,增加DFGHJILKIMN盘,每个盘剩余容量大于10G的时候才把E盘的TXT文本移动过去,从D盘开始,如果D盘剩余容量小于10G了,那就不移动到D盘了,改移动到F盘,F盘不够10G了就移动到G盘。以此类推~
每60秒检查一次.
在这里卡壳了。谢谢各位大佬们了~~
发表于 2022-1-14 00:15:36 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion
  2. set prefix=00000000000000000000000000000000
  3. set targetSpace=10000000000
  4. set targetSpace=%prefix%%targetSpace%
  5. set targetSpace=%targetSpace:~-32%
  6. :step
  7. set/a num=60
  8. for /l %%a in (!num! -1 1) DO (
  9. echo 剩余时间: [%%a]
  10. timeout /t 1 /nobreak>nul & cls
  11. )
  12. set volume=
  13. for %%A in (D F G H I J I L K M N) do (
  14.   for /f "tokens=*" %%B in ('wmic path win32_volume where "DriveLetter='%%A:'" get freespace /value^|find "="') do set %%B
  15.   set freespace=%prefix%!freespace!
  16.   set freespace=!freespace:~-32!
  17.   if "!freespace!" gtr "!targetspace!" set "volume=%%A:" & goto break
  18. )
  19. :break
  20. if defined volume move E:\*.txt !volume!
  21. goto step
复制代码
发表于 2022-1-14 12:03:04 | 显示全部楼层
为纯P编程打造的一些常用利刃...在此可派上用场:
1. 获取磁盘剩余空间

md 【tmp】
for /f "tokens=1-2 delims=个目录 " %%1 in ('dir /-c 【tmp】^| findstr /c:" 可用字节" ') do set diskV=%%2
rd 【tmp】
echo,%diskV%

2.字节单位转GB单位(即给纯P一个浮点除法及其圆整功能)

for /f "delims=" %%v in ('mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Math.floor(%diskV%/1073741824));close();" ') do set diskV_GB=%%v
echo,%diskV_GB%
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:42 , Processed in 0.018126 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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