gpt4 book ai didi

batch-file - 如果目录中的文件总和超过一定限制,则运行命令(批处理/cmd)

转载 作者:行者123 更新时间:2023-12-04 04:37:17 27 4
gpt4 key购买 nike

我有一个非常简单的批处理文件,它将目录中的所有 txt 文件复制到另一个位置。我想检查一下,如果目录中的文件大小总和超过 1mb,那么复制将继续进行,否则退出。

我可以做的另一件事是单独检查每个文件,但所有文件的总和将是一个应该可行的粗略和现成的解决方案。

任何指针都会很棒,因为我不确定从哪里开始。

    rem @echo off
cd /d "c:\test"
for /f "tokens=3" %%a in ('dir /-c /-p ^|find "File(s)" ') do
if %%a GTR 1024 (
echo %%a is more than enough
) else (
echo %%a is less than 1024
)



pause

最佳答案

这应该为您提供文件夹的总大小。

@echo off
cd /d "d:\target\folder"
for /f "tokens=3" %%a in ('dir /-c /-p ^|find "File(s)" ') do echo %%a
pause

如果您打开 cmd 提示符并键入 dir然后你会得到一个文件列表。
看看下面几行,你会看到一行里面有"file",这个数字就是上面的代码提取的。

这通过删除逗号改进了数字比较,但请注意,它最多只能使用 2 GB。
@echo off
cd /d "c:\some\dir"
for /f "tokens=3" %%a in ('dir /-c /-p ^|find "File(s)" ') do if %%a GTR 1024 echo output & pause

这是一个 else 子句:
@echo off
cd /d "c:\some\dir"
for /f "tokens=3" %%a in ('dir /-c /-p ^|find "File(s)" ') do (
if %%a GTR 1024 (
echo %%a is more than enough
) else (
echo %%a is less than 1025
)
)
pause

关于batch-file - 如果目录中的文件总和超过一定限制,则运行命令(批处理/cmd),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19541174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com