问题标签 [locked-files]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
782 浏览

c# - 无法解锁图片框中使用的图像

我需要移动/重命名一些加载在图片框内的图像,这些图像存储在应用程序可执行路径中的文件夹中。在我可以移动/重命名任何图像之前,我必须确保它没有被使用,所以我尝试将另一个图像从应用程序的可执行路径加载到这个图片框,并尝试将图片框图像属性“null”。

如果我想在我的程序中继续前进,图像仍然被锁定,我使用以下代码验证了这一点:

我还尝试使用此处的代码:什么进程锁定了文件?

这给了我以下信息:System.Collections.Generic.List´1[System.Diagnostics.Process]

我必须告诉你,我也在使用相同的图像和方法与 AccessViolationException 作斗争。我不完全确定这是否是同一个问题......是我保存图像的方式错误还是我使用它们的方式?如果您需要更多代码或信息,请告诉我!

编辑:

来自 TaW 的链接和来自 Anon Coward 的答案都对我不起作用,我真的尽我最大的努力让它工作,我试图处理并取消图片框、图像等。我找到了一个与你的建议混合的解决方案,但是这是一个非常肮脏的...

我知道使用 GarbageCollection 不是正确的方法,但我不知道是什么阻止了图像......所以我仍然在这里寻找真正的解决方案。

0 投票
1 回答
790 浏览

c# - 在 C# 中清除锁定日志文件的内容

有很多解释如何清空日志文件。

像:

但是这个例子和我发现的其他例子都有同样的问题。如果日志文件当前被另一个进程锁定,则它不起作用。

在 ruby​​ 中有一个我可以使用的任务rake log:clear,它不会删除,只需清空日志文件。

我还发现我可以通过 Powershell 使用clc <filename>. 资源现在可在此处获得:

https://github.com/PowerShell/PowerShell/blob/c1faf1e6e10fc1ce45e84ef6f49ae7136c67a111/src/Microsoft.PowerShell.Commands.Management/commands/management/ClearContentCommand.cs

但老实说,我不明白这段代码是如何工作的,它也继承自其他类。

是否有可以在任何常见程序/类中使用的 C# 实现?

0 投票
1 回答
911 浏览

php - 该操作无法完成,因为该文件在 httpd.exe 中打开

我编写了 JS 以分块上传非常大的视频,并编写了 PHP 脚本以在服务器上组装这些片段。文件进程有效,除了我无法播放文件,除非我从 PHP 任务栏“重新启动所有服务”。之后文件播放正常。如果我尝试在 Windows 资源管理器中重命名文件,则会收到以下错误:

该操作无法完成,因为该文件在 httpd.exe 中打开

我怀疑这可能与从不调用move_uploaded_File()有关,但调用该过程对组装文件不起作用。

0 投票
1 回答
5030 浏览

backup - 如何复制使用 robocopy 的文件?

我有一个批处理文件执行一些备份操作。备份操作如下所示:

robocopy %source% %root%\%targetname% /MIR /R:0 /W:0 /NFL /NDL /NJS

不幸的是,由于windows“保护”,一些正在使用的文件无法复制。是否可以复制正在使用的文件?

我正在使用 Windows 10。Windows 10 中包含的备份不够灵活,我不能只复制一些文件夹等。

0 投票
0 回答
328 浏览

python - 试图删除一个打开的空目录:Python

我正在尝试删除在命令行中打开的空目录。如果目录为空,是否还有进程与之相连?我一直在搞乱 psutil 包,但我无法找到连接到打开目录的进程(即,我可以找到 name() 和 cmdline() 但我找不到打开的文件)。我正在尝试在 python 中完成此操作,并且它必须是自动化的。我知道有很多关于这个主题的帖子,但是我找不到任何专门找到打开空目录的过程或任何其他方法来删除它。

为了澄清,我正在使用 rmtree(filename) 并得到 PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: filename

编辑:这只发生在目录在命令行中打开时。如果在 Windows 资源管理器中打开该目录,则可以删除该目录。我可以看到命令行正在保存该进程,但是我如何确定哪个命令行进程与打开的目录相关联以便杀死该进程而不是其他进程?

0 投票
3 回答
6413 浏览

ios - 在 Xcode 8.3.3 中无法解锁文件“project.pbxproj”

由于某种原因,一些文件被锁定在 xcode 中,我通过这个解决方案解决了这个问题。

但即使在那之后我仍然收到这个错误

我也尝试通过上述方法解锁它,但它不起作用,我什至无法关闭项目,当我强制关闭它时,下次所有以前的更改都消失了。

0 投票
1 回答
357 浏览

.net - 如何释放文件流资源

我正在保存电子邮件中的附件。附件保存得很好。我的问题是文件流在应用程序退出之前不会释放资源。Close 或 Dispose 都不起作用。这是如何完成的,或者他们是保存数据和解锁文件的更好方法。

0 投票
3 回答
8313 浏览

excel - 如何以只读方式打开锁定编辑文件?

我有一个可以打开多个文件的宏。如果涉及到文件“锁定编辑”,它会给我一个错误说

文件名当前正在使用中。稍后再试。

如何使它以只读方式打开所述文件?我试过了:

更新:第一种方法确实有效。我的代码在通过“Selected_EOS_Report_File”变量的多个文件上运行。在某些时候,通过的文件是 Excel 临时文件(文件名以“~$”开头)。我创建了一个 if/then 语句来跳过任何此类文件。

0 投票
1 回答
2995 浏览

python - 如何使用 Python 解锁锁定的文件和文件夹(mac)

作为脚本的主要目的完成后的“清理”,调用一个函数以递归方式查看每个文件夹并删除所有以预定扩展名结尾的文件。

在测试过程中,我发现要删除的文件列表中的一些文件扩展名实际上会引发错误:[Errno 1] Operation not permitted: '/location/of/locked/file.png. 查看文件本身,它似乎已锁定(在 Mac 上)。

  1. 我将如何使用 Python 从每个文件/文件夹中删除锁定的属性(如果它存在),然后如果文件以扩展名结尾,则删除该文件?
    最好这可以在下面的同一个函数中完成,因为遍历输入目录需要很长时间 - 只处理一次是要走的路。
  2. 这如何影响脚本在 Windows 上的完整性?
    我已经以一种使其在操作系统之间兼容的方式对其进行了编程,但是(据我所知)locked属性在 Windows 上并不像在 mac 上那样存在,并且可能会导致未知的副作用。

如果有人能告诉我如何将这些功能集成到子程序中,我将不胜感激。干杯。


编辑:根据请求删除错误处理

0 投票
0 回答
418 浏览

git - 无法重命名 C:\users\%username%\source\repos 下的文件夹

背景:已安装 Visual Studio 2017 社区。我最终得到了一个文件夹,其中默认在C:\users\%username%\source\repos. 我猜这个文件夹是默认为 Visual Studio Git 集成创建的。

但我不希望此目录中的项目有任何源代码控制。所以我删除了.git位于C:\users\%username%\source\repos思考/希望这将删除该文件夹下所有文件的所有痕迹 Git 源代码控制下的文件夹。但是我现在在重命名此目录中的文件夹时遇到问题。

在 Windows 资源管理器中,我最初可以重命名一个文件夹,但如果我尝试再次重命名它,然后我会收到“无法完成该操作,因为该文件夹已在另一个程序中打开”。如果我等待几分钟,那么我可以再次重命名该文件夹。

我猜测 Git 的残余物仍在影响这个文件夹。我是否需要采取其他一些步骤来从该目录中删除所有 Git 痕迹?

我尝试使用此过程确定是什么锁定了目录,但没有出现:

  1. 打开资源监视器
  2. 在监视器中打开 CPU 选项卡
  3. 选择所有进程(不确定是否需要,您可能只是
  4. 寻找手柄)
  5. 展开“关联句柄”
  6. 搜索您需要的文件
  7. 关闭有句柄的进程