标签: delete-file

递归搜索子文件夹并删除子文件夹中超过6个月的所有文件

我们有这样的目录结构

..\文档名称_存档\YYYY\月份名称

例如,我们有许多子文件夹(在不同的文档名称文件夹中),名为 \2014\January ... 等

我们想要删除创建日期超过 180 天的所有文件夹及其内容。

我们更愿意只使用批处理文件脚本,但如果我们需要递归搜索,也许 VBScript 更好。

请问最好的办法是什么?

vbscript command-line batch-file dir delete-file

2
推荐指数
1
解决办法
5774
查看次数

Android:通过内容 uri 删除文件

我的应用程序能够打开和处理某些文件。因此,您可以在文件管理器中点击这样的文件,我的应用程序将被提供来打开它。清单文件中的意图过滤器的设置如下。

<intent-filter>
  <action android:name="android.intent.action.VIEW" />

  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />

  <data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

像这样读取和处理文件效果很好:

Context.getContentResolver().openInputStream(getIntent().getData());
Run Code Online (Sandbox Code Playgroud)

问题是,我想在处理后删除该文件。(如果用户选中该文件的复选框)用户通常在使用我的应用程序打开该文件后不再需要该文件。

目前,只有当文件作为文件 uri(以 file:// 开头)提供给我时,我才能执行此操作。在这种情况下,这段代码可以正常工作:

new File(contentUri.getPath()).delete();
Run Code Online (Sandbox Code Playgroud)

但如果该文件作为内容 uri 提供,我不知道如何删除该文件。(以内容://开头)

例如,返回 null,并且不执行任何操作:

Context.getContentResolver().delete(getIntent().getData(), null, null);
Run Code Online (Sandbox Code Playgroud)

android delete-file android-contentprovider

2
推荐指数
1
解决办法
3110
查看次数

Flask:send_file()完成后从服务器删除文件

我有一个 Flask 后端,它根据一些用户输入生成图像,并使用send_file()Flask 的功能将该图像发送到客户端。

这是Python服务器代码:

@app.route('/image',methods=['POST'])
def generate_image():
    cont = request.get_json()
    t=cont['text']
    print(cont['text'])
    name = pic.create_image(t) //A different function which generates the image
    time.sleep(0.5)
    return send_file(f"{name}.png",as_attachment=True,mimetype="image/png")
Run Code Online (Sandbox Code Playgroud)

我想在将该图像发送到客户端后从服务器中删除它。

我该如何实现它?

delete-file sendfile flask python-3.x

2
推荐指数
1
解决办法
2494
查看次数

Laravel 8:存储::删除(文件)返回 false

从昨天开始,我无法从文件夹中删除文件\n这是我在控制器中的代码。\n\xe2\x80\x8b\npublic function update_avatar(Request $request)\n{

\n
    // Handle the user upload of avatar\n    if ($request->hasfile('avatar')) {\n        $avatar = $request->file('avatar');\n        $filename = time() . '.' . $avatar->getClientOriginalExtension();\n        if (auth()->user()->avatar) {\n            // dd('/uploads/avatars/'. auth()->user()->avatar);\n            Storage::delete('/uploads/avatars/'. auth()->user()->avatar);\n            //dd(Storage::delete('/uploads/avatars/'. auth()->user()->avatar));\n        }\n        Image::make($avatar)->resize(500, 500)->save(public_path('/uploads/avatars/' . $filename));\n\n        $user = Auth::user();\n        $user->avatar = $filename;\n        $user->save();\n    }\n\n    return view('profile', array('user' => Auth::user()) );\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x80\x8b

\n

调试该方法后,不会删除文件夹中的文件

\n

\xe2\x80\x8b dd('/uploads/avatars/'. auth()->user()->avatar); \xe2\x80\x8b

\n

我正确地获取了文件,但是当我调试时

\n

dd(Storage::delete('/uploads/avatars/'. auth()->user()->avatar)); \xe2\x80\x8b

\n

结果为

\n

ps:我使用 laravel 8

\n

delete-file laravel

2
推荐指数
1
解决办法
1万
查看次数

“File.delete()”的结果被忽略

我试图制作一个按钮,可以删除应用程序下载的文件(视频文件)。

当我使用File.delete()时,android studio 说它将被忽略,由此我开始知道这是 android 中的安全性问题。我想肯定删除该文件(在我的例子中,它是我的应用程序下载的视频文件)。希望有人帮助我。

这是我使用的代码:

path = "/some/folder/"
File file = new File(path);
file.delete();
Run Code Online (Sandbox Code Playgroud)

java delete-file

2
推荐指数
1
解决办法
6879
查看次数

使用PHP删除带有斜杠的文件

我制作了一个应用程序,当它经过测试时,测试人员制作了一个名为"Joe'sTestPage"的文件.其中包括:"Joes \'TestPage.htm".M问题是由于名称中的斜杠,文件是不可删除的.我已经尝试在我的cpanel中使用我的ftp,但是也无法将其删除.

有谁知道解决方案?

php filenames slash delete-file

1
推荐指数
1
解决办法
838
查看次数

如何删除文件?

我需要从存储图片的文件夹中删除图片.例如,C:\ Milk\Pictures文件夹中的文件.我该怎么做呢?

delphi file delete-file delphi-xe2

1
推荐指数
1
解决办法
5982
查看次数

删除C中的文件表明找不到该文件

我正在研究ac项目,我需要从目录中删除一个文件.出于某种原因,虽然它继续说它无法删除,因为文件或目录不存在.下面是我用来删除文件的代码.

void deleteOldestLog()
{
    FILE *fp;
    char path[FILE_PATH_BUF_LEN], *fileName;

    fp = popen("ls -tr /home/myfolder/logs/ |head -1", "r");
    if (fp == NULL)
    {
        printf("Failed to run command");
    }
    else
    {
        char removalPath[FILE_PATH_BUF_LEN];
        while ((fileName = fgets(path, sizeof(path)-1, fp)) != NULL)
        {
            sprintf(removalPath, "/home/myfolder/logs/%s", fileName, sizeof(fileName)-1);

            printf("Removing file: %s", removalPath);
            if (remove(removalPath) != 0)
            {
                perror("ERROR DELETING LOG");
            }
            else
            {
                printf("Successfully deleted %s", removalPath);
            }
            break;
        }
        pclose(fp);
    }
}
Run Code Online (Sandbox Code Playgroud)

即使它说它找不到文件因为它不存在我知道这不是真的,因为如果我运行ll后跟c程序打印的路径它返回我试图删除的文件.

我想这可能是因为fgets将'\ 0'放在字符串的末尾,这会阻止删除工作.

我怎样才能解决这个问题?

c delete-file

1
推荐指数
1
解决办法
100
查看次数

为什么我的脚本会在删除数百万个文件时定期冻结?

我的目标是从中删除1000万个临时文件dir.所以,我试着写一个Python脚本来做这件事.第一个场景看起来像这样:

#!/usr/bin/python

import os,sys
dirname = os.getcwd() if len(sys.argv) == 1 else sys.argv[1]
deleteConfirm = raw_input('Delete all files from dir ' + str(dirname) + ' (y/n)? ')
if(deleteConfirm not in ['y','Y']):
    os._exit(0)

counter = 0
flist = os.listdir(dirname)
for file in flist:
    os.remove(os.path.join(dirname, file))
    counter+=1
    if(0==counter%1000):
        sys.stdout.write('\rDeleted %d files' % counter)
        sys.stdout.flush()

print '\nDeleted %d files' % counter
Run Code Online (Sandbox Code Playgroud)

这段代码有效,但我发现它每隔10-15秒就会停止一次,并且在大约一分钟左右不起作用.例如,前几秒场景快速输出已删除文件的数量 - 它只删除28 000个文件仅3-5秒,但随后它的输出在"已删除的28000个文件"上停止并等待很长时间 - 分钟左右.然后再次输出快速更新,并在几秒钟内再次删除数千个文件.但它又一次停下来等待着什么.我认为这是由于锁定文件,所以我尝试使用python3和多处理模块编写新方案,以删除几个进程中的文件.我认为它可能会有所帮助,因为即使一个进程等待某个文件要取消时钟,其他进程也会完成它们的工作.

是新脚本:

#!/usr/bin/python3

import os, sys, time
from multiprocessing import Pool
dirname …
Run Code Online (Sandbox Code Playgroud)

python linux filesystems performance delete-file

1
推荐指数
1
解决办法
233
查看次数

计数器内部的递归函数

我需要计算在这个递归函数中删除的文件数.由于它是递归的,我不能使用if语句,而C#不支持全局变量.任何替代品?

static void DirSearch(string path)
{
    try
    {
        foreach (string dirPath in Directory.GetDirectories(path))
        {
            foreach (string filePath in Directory.GetFiles(dirPath))
            {
                string filename = Path.GetFileName(filePath);
                if (filename.Equals("desktop.txt"))
                {
                    File.Delete(filePath);
                    //count++
                }
                Console.WriteLine(filePath); // print files
            }
            Console.WriteLine(dirPath); // print directories
            DirSearch(dirPath);
        }
    }
    catch (System.Exception excpt)
    {
        Console.WriteLine(excpt.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# recursion counter delete-file

1
推荐指数
2
解决办法
6110
查看次数