批处理 for 循环内存泄漏?

2023-12-25

我正在编写一个批处理脚本,它会遍历目录中的每个文件,查找代码文件并以某种方式修改它们。完成该任务后,我尝试在包含大约 6,000 个文件的大目录上运行它。大约 40 分钟的脚本崩溃了,我从命令提示符处收到了很多内存不足的错误,运行脚本的同时查看任务管理器显示我的程序以每次循环迭代大约 1MB 的速度消耗内存。因此,很自然地认为我做错了什么,我删除了我为隔离问题而编写的所有代码。但后来我留下了一个空文件,除了一个 for 循环,问题仍然存在!

这是我在一个相当大的目录上运行的,就像我说的:

@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set directory=%CD%
for /R "%directory%" %%a in (*.c *.cpp *.h *.idl) do (
    set currentDir=%%~dpa
    pushd !currentDir!
    popd
)

我实际上已经能够将其缩减为:

@echo off
for /R "%CD%" %%a in (*) do echo

而且问题仍然存在。

批处理 for 循环中是否存在内存泄漏,或者我只是做错了什么?

我正在运行 Windows XP 32 位 Service Pack 2,尽管我已经测试并确认 Service Pack 3 中仍然存在问题。


这与其说是一个答案,不如说是一种解决方法(或重写)。我已经运行了您的脚本,并且看到了一些内存消耗,其中一些在脚本完成之前不会释放,但每次迭代我都没有获得接近 1 MB 的内存。 (就像 @aphoria 一样,我可以在 c: 根目录下运行该脚本,在 XP SP3 和 Vista 上没有问题。)

我建议您关闭该脚本不需要的任何进程,并一次在一个子目录上运行脚本。

如果您无法通过任何其他方式解决此问题,我建议您尝试在 Powershell 中编写脚本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

批处理 for 循环内存泄漏? 的相关文章

  • 如何加速 R for 循环?

    我正在为 R 中 GWmodel 包中的 gwr basic 函数运行以下 for 循环 我需要做的是收集任何给定带宽的估计参数的平均值 代码如下 library GWmodel data DubVoter Dub voter LARent
  • 使用cmd批处理文件获取pdf中的页数

    我可以看到使用 C PHP 和其他语言获取 pdf 中的页数有很多问题 但我想知道使用批处理文件或 cmd 是否有一种简单的方法来获取页数 Using pdftk http www accesspdf com pdftk pdftk my
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • Java 8:并行 FOR 循环

    我听说 Java 8 提供了很多关于并发计算的实用程序 因此我想知道并行给定 for 循环的最简单方法是什么 public static void main String args Set
  • Chrome 内存/垃圾收集问题

    我在使用 Chrome 时遇到内存 垃圾收集问题 我正在开发一个照片上传网站 该网站允许我的客户使用 HTML5 和文件 API 拖放照片进行上传 因此这在 IE 中不起作用 它仅适用于 Chrome 和 FF 我还没有在 Safari O
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l
  • ValueError:使用火炬张量时需要解压的值太多

    对于神经网络项目 我使用 Pytorch 并使用 EMNIST 数据集 已经给出的代码加载到数据集中 train dataset dsets MNIST root data train True transform transforms T
  • for 循环中的绘图没有可见点

    我正在努力解决我想使用 for 循环制作的情节 我知道当我在循环之后添加它时它会起作用 只是一个简单的图 但我想用另一种方式尝试一下 fib ones 1 10 for k 3 10 hold on fib k fib k 1 fib k
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 批处理脚本 FOR 循环仅设置输出的第一个字母 wsl --list -q

    我正在编写一个批处理脚本 将文件从 Windows 目录复制到 WSL 发行版 其中一部分是选择将文件复制到哪个发行版 如果我使用命令wsl list q如果给我以下输出 Ubuntu 22 04 Ubuntu 18 04 我正在尝试使用此
  • 赋值运算符和复制构造函数有什么区别?

    我不明白C 中赋值构造函数和复制构造函数之间的区别 是这样的 class A public A cout lt lt A A lt lt endl The copy constructor A a b The assignment cons
  • Windows批处理文件:将结构转换为单行字符串

    我需要将这个艰巨的任务作为批处理文件来完成 这对于 C 来说不是最困难的 但在 DOS 中是一个地狱 至少对我来说 我需要将结构转换为单个 var 字符串 才能在我的程序中再次将它们转换为该结构 别担心回归 一切都已经完成了 该结构的大小会
  • .NET EXE 内存占用

    即使是一个简单的Notepad http en wikipedia org wiki Notepad 28software 29C 中的应用程序消耗兆字节的 RAM 如任务管理器中所示 最小化应用程序时 任务管理器中的内存大小会显着下降 并
  • 如何提高包含大量小图像的 UCollectionView 的性能?

    在我的 iOS 应用程序中我有UICollectionView显示大约 1200 个小 35x35 点 图像 图像存储在应用程序包中 我正确地重用了UICollectionViewCell但仍然存在性能问题 具体取决于我处理图像加载的方式
  • 如何使用批处理文件复制(和增量)文件的多个实例

    我需要创建一个批处理文件来复制文件并在将其放置到目的地时递增它 例子 copy C TEMP MyDoc txt E MyData 本质上 我需要这个复制命令在每次启动时进行复制 现在效果很好 我希望它增加文件名而不是覆盖它 如果我运行此命
  • jQuery:如果使用 html() 从 DOM 中删除事件处理程序,是否会从对象中删除事件处理程序

    我担心应用程序中的内存泄漏 因为我经常使用 jquery 的 html 方法来替换 DOM 中的内容 我只是想确保这些事件侦听器不会停留在浏览器内存中 我搜索了 jquery 文档没有明确的答案 有人知道吗 多谢你们 是的 他们是 如果你使
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 使用正则表达式查找并替换(批处理.BAT)

    我想在多个文本文件中进行查找 替换 如何使用 BAT 实现自动化 我还需要正则表达式 示例 查找

随机推荐

  • 时间:2019-05-09 标签:c#sizeofdecimal?

    不清楚十进制类型的 sizeof 字节大小是否会像 SQL Server 中那样因精度而变化 C 类型的精度变量是 十进制 吗 我不想打开不安全代码来仅对十进制类型调用 sizeof 你会如何处理这个问题 十进制关键字表示 128 位数据类
  • 是否可以将 REST 和消息传递结合起来用于微服务?

    我们拥有基于微服务架构的应用程序的第一个版本 我们使用 REST 进行外部和内部通信 现在我们想从CP CAP定理 切换到AP 并使用消息总线进行微服务之间的通信 关于如何基于Kafka RabbitMQ等创建事件总线的信息有很多 但我找不
  • 如何在 Python 中使用 M2Crypto 重新创建以下签名命令行 OpenSSL 调用?

    这在命令行中完美运行 我想在 Python 代码中使用 M2Crypto 执行相同的操作 openssl smime binary sign signer certificate pem inkey key pem in some file
  • BLE血糖仪

    我正在尝试从血糖仪获取数据 但无法在互联网上找到有关实施的良好资源 这是我到目前为止能够实现的 我正在使用 BluetoothAdapter LeScanCallback 接口扫描设备 Override public void onLeSc
  • 如何下载地图选定部分的 OSM 图块

    我想使用 Openlayer OSM 图层以单个缩放级别离线下载地图的选定部分的地图 我有地图的四个角 即地图的显示部分 但需要获取所有图块图像或四个角之间的图块 我回顾了一些例子 Openlayers获取鼠标下图块的图片url https
  • 在.NET 4中使用await SemaphoreSlim.WaitAsync

    我的应用程序正在使用 NET 4 我正在使用等待异步努吉特包 https www nuget org packages Microsoft Bcl Async 在我的应用程序中 我想对信号量 WaitAsync 调用进行等待 如下所示 Se
  • 为什么 GHC 不能派生 Monoid 的实例?

    GHC 有一些语言标志 例如DeriveFunctor DeriveDataTypeable等等 这使得编译器能够为 Haskell 98 中允许的类型类之外的类型类生成派生实例 这对于类似的东西尤其有意义Functor 其中该类的定律规定
  • 绘制包含多个组件的图形时,节点大小不正确

    我有一个包含许多组件的图表 我想将其可视化 作为一个特殊特征 巨型组件中节点的节点点应随其特征向量中心性缩放 所有其他节点具有相同的大小 我使用以下脚本 import networkx as nx import pylab as py im
  • android recyclerview:如何以编程方式选择 TextView 背景颜色?

    我有一个 CardViews 的 RecyclerView 列表 在每个 CardView 上 用户事先从下拉对话框中选择 类型 类型选择有 工作 和 家庭 类型选择作为字符串存储在 SQLite 数据库中 当我运行应用程序时 没有显示 T
  • 角度单元测试:错误:无法匹配任何路由。 URL 段:“主页/顾问”

    我正在我的 Angular 4 0 0 应用程序下进行单元测试 我的真实组件中的某些方法是通过以下方式调用手动路由 method this navigateTo home advisor with 导航是一个调用此的自定义路由方法 publ
  • 使用不区分大小写的字符串访问 python 字典

    我正在努力查看是否存在一种方法来访问带有正确字符串但不区分大小写的字符串作为键的 python 字典 例如使用以下代码 dictionary one 1 two 2 three 3 list One second THree for ite
  • Firebase 仪表板设置电子邮件已验证

    我通过控制台创建了一个用户 并在我的客户端 iOS 应用程序 内创建了一个用户 我要求用户在使用之前验证其电子邮件 但是测试用户没有有效的电子邮件 它不存在 电子邮件是 email protected cdn cgi l email pro
  • 如何从SWT表中选择一个单元格

    table addSelectionListener new SelectionAdapter public void widgetSelected SelectionEvent e if table getSelectionIndex 1
  • SQL - 将 2 个外键左连接到 1 个主键

    我有两张桌子 游戏桌和团队桌 我的 sql 语句应该是什么样子来创建一个游戏列表 以提取链接到 TeamID1 和 TeamID2 字段的 TeamName 我相信我可以使用左连接 但我不确定如何处理链接到一个主键的两个外键 非常感谢您提供
  • 从审计记录构建快照表

    我有一个Customer表具有以下结构 CustomerId Name Address Phone 1 Joe 123 Main NULL 我也有一个Audit跟踪更改的表Customer table Id Entity EntityId
  • 我的选择如何正确地出现在我在 SwiftUI 中创建的列表中

    我创建了显示数字数组的列表 当您选择多个数字并点击下面的按钮时 它应该告诉您所选数字的总和 但是 当您在不同行中选择相同的数字时 它们会同时被检查 我知道这应该通过使用 UUID 来解决 但我想要的最终结果是数字之和 即 Int 因此 我迷
  • 我可以从 PriorityQueue 中获取一个项目而不将其删除吗?

    我想获取队列中的下一个项目 但不想将其出列 在Python中可以吗queue PriorityQueue 来自docs http docs python org py3k library queue html highlight prior
  • Firebase 存储的动态图像大小调整

    有没有一种有效的方法可以通过更改图像 URL 中的查询参数来提供存储在 firebase 存储中的动态尺寸图像 或者类似 Imgix 的东西 什么是最有效的方法 我建议您尝试使用 ImageMagick 调整 Firebase 存储大小的
  • 将 gulp.start 函数迁移到 Gulp v4

    我已经将所有 gulp v3 代码库迁移到 v4 中 然而 我陷入了一个困境 我有 gulp start 函数 当我在 gulp v4 中运行 gulp start 时 它会抛出一个错误 这是我在版本 3 中的功能 gulp task de
  • 批处理 for 循环内存泄漏?

    我正在编写一个批处理脚本 它会遍历目录中的每个文件 查找代码文件并以某种方式修改它们 完成该任务后 我尝试在包含大约 6 000 个文件的大目录上运行它 大约 40 分钟的脚本崩溃了 我从命令提示符处收到了很多内存不足的错误 运行脚本的同时