我认为这是一个完全无足轻重的任务,但它给了我一些头痛.我想打开一个文件以确保我获得独占访问权限,测试某些条件,然后将其删除.
现在我正在使用99%的方法:
FileStream s = null;
try {
s = new FileStream (
path,
FileMode.Open,
FileAccess.ReadWrite,
FileShare.None);
// some stuff about the file is checked here
s.Dispose ();
// hope the file is not accessed by someone else...
File.Delete (path);
return true;
}
catch (IOException) {
if (s !=null) s.Dispose ();
return false;
}
Run Code Online (Sandbox Code Playgroud)
这通常有效,但我认为有一种更好的方法可以避免边缘条件.
使用DeleteOnClose标志打开文件不起作用,因为所述检查(在打开并且已经设置了删除标志后发生)可能表示不应删除该文件.
我正在写一个更新一些驱动程序的应用程序.但是,驱动程序"正在使用",除非重新启动计算机,否则无法删除.
那么如何在不重新启动PC的情况下编写应用程序来删除这些锁定的驱动程序.如果重新启动必须重新启动,那么当计算机重新启动并删除这些文件时,如何自动重新启动应用程序?
通过Android的Intent.ACTION_SEND功能共享临时文件后,我试图删除该文件。现在,我正在为结果启动活动,在OnActivityResult中,我正在删除文件。不幸的是,仅当我使用断点调试它时,此方法才有效,但是当我让它自由运行并说通过电子邮件发送文件时,该电子邮件没有附件。
我认为正在发生的事情是我的活动是在通过电子邮件发送文件之前删除该文件。我不明白的是为什么,不应该在其他活动结束后才调用onActivityResult吗?
我也尝试过删除onResume中的文件,但是没有运气。
有一个更好的方法吗?
我想以一种文件无法恢复的方式删除敏感文件(使用C++).
我想只是重写文件然后删除它,是否足够或我是否必须执行更多操作?
我在 python3 NLTK(通过nltk.download())中安装了一些 NLTK 包,尝试了它们并且 - 不需要它们 - 现在想删除它们。
如何large_grammars从我的 NLTK 安装中删除例如包?(我不想删除完整的 NLTK 安装!)
删除所有 docker 容器:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
Run Code Online (Sandbox Code Playgroud)
或者这也会删除所有 docker 容器:
docker ps -q -a | xargs docker rm
Run Code Online (Sandbox Code Playgroud)
删除没有标签的镜像,即删除名称所在的位置docker images(来自如何删除没有标签的 Docker 镜像?):REPOSITORY<none>
docker rmi $(docker images -f dangling=true -q)
Run Code Online (Sandbox Code Playgroud)
但是在删除所有“悬空”图像和容器后,当我执行 a 时docker images,仍然有大量图像我不再使用并想要删除:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tofufu latest 9bcb9d31a3f8 17 hours ago 900 MB
alvations/mosesdecoder ubuntu-basic 245c85d5fef1 5 days ago 2.22 GB
ubuntu-basic latest 245c85d5fef1 5 days ago …Run Code Online (Sandbox Code Playgroud) .git我有一个 git 存储库,Rift我正在尝试删除它。在尝试运行时rm -rf,我收到错误:rm: cannot remove 'Rift/.git/objects/pack': Directory not empty。
当我导航到目录树的底部时,我发现一个隐藏文件,名为 ,.fuse_hidden后跟一串数字和字母(可能是十六进制)。我可以手动删除此文件,但一旦删除它,就会在其位置创建另一个附加了不同数字和字母字符串的文件。
我已经尝试过rm .git/objects/pack/* && rm -rf .git,,sudo rm -rf .git和,chmod -w .git/objects/path但killall git都没有成功。