我不确定我是否正确地做了这个或者我的逻辑是否正确.
我试图去一个文件夹结构删除早于一定天数的文件,这部分我已经正确实现,删除空文件夹.
这一切都可以在一个循环中完成吗?
我在哪里删除文件夹?
我想删除最多3或4级的空文件夹.
private static void TraverseTree(System.IO.DirectoryInfo folder, double days)
{
Stack<string> dirs = new Stack<string>();
if (!folder.Exists)
throw new ArgumentException();
dirs.Push(folder.FullName);
while (dirs.Count > 0)
{
string currentDir = dirs.Pop();
string[] subDirs;
try
{
subDirs = System.IO.Directory.GetDirectories(currentDir);
}
// An UnauthorizedAccessException exception will be thrown if we do not have
// discovery permission on a folder or file. It may or may not be acceptable
// to ignore the exception and continue enumerating the remaining files and …Run Code Online (Sandbox Code Playgroud) 我想每5个小时运行一个计时器,并从4天以上的文件夹中删除文件.你能用示例代码取悦吗?
在我的公司,我们正在编写一个脚本来处理我们通常手工完成的简单任务.我使用c#删除c:\ documents和settings \中的配置文件,除了一些.这些将简单地留下.问题是即使使用将文件设置为正常的代码并将管理员用户标记为所有者,它们也不会删除.他们说快速启动文件夹已拒绝访问.我正在使用递归权限更改方法,我知道它的工作原理.文件属性也是如此.为什么它不起作用?我该如何解决?
我有一个包含文件路径列表的数据库.我想构建一个例程来清理文件夹,如果没有db记录,则删除目录中的文件(对于临时ajax文件上传,如果用户没有完成表单,等等).
我在想这样的事情:
var dbFiles = db.allPaths();
var allFiles = Directory.EnumerateFiles(path);
foreach (var f in allFiles) {
if (!dbFiles.Contains(f) {
File.Delete(f);
}
}
Run Code Online (Sandbox Code Playgroud)
任何"陷阱"都在等我?该例程将首先设置为每周运行一次,如果临时文件成为问题则更常见.它将在几乎没有用户的时间运行,因此性能 - 虽然重要 - 并不是最重要的.
UPDATE
哇,很多很棒的答案.这段代码正在变成值得"分享"的东西.; D我上面的代码只是一个简单,快速的占位符位...但它已转换为可靠的代码.谢谢!
正如标题所述,我试图以递归方式删除文件夹中的所有文件._.对于我网站上的每个文件,都存在一个具有相同名称的文件,但._附加了该文件.我怎么摆脱这些?
我已经制作了一个MVC应用程序,当你访问/ App/export时,它会压缩特定文件夹中的所有文件,然后返回zip文件.代码看起来像:
public ActionResult Export() {
exporter = new Project.Exporter("/mypath/")
return File(exporter.filePath, "application/zip", exporter.fileName);
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是将文件返回给用户然后删除它.有没有办法设置超时删除文件?或保留文件句柄,以便在请求完成后才删除文件?
我无法删除作为备份备份副本的文件...我不记得它传递的所有文件系统字符集.
无论如何,今天这里是文件:
nas# ls -al
ls: cannot access Sécurité: No such file or directory
total 32
drwx------ 4 sambacam sambacam 20480 Jun 5 01:38 .
drwxr-xr-x 3 sambacam sambacam 12288 Jun 5 01:38 ..
d????????? ? ? ? ? ? S??curit??
nas# cd S*
cd: 13: can't cd to Sécurité
nas# rm "Sécurité"
rm: cannot remove `S\303\251curit\303\251': No such file or directory
nas# rm S*
rm: cannot remove `S\303\251curit\303\251': No such file or directory
nas#
Run Code Online (Sandbox Code Playgroud)
我甚至尝试用Python编写代码而没有成功:
nas# python
Python 2.5.2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个perl脚本,将test.txt文件中的文件名读入数组,然后根据数组中的文件名删除文件.这是我到目前为止所得到的......
#!/usr/bin/perl
use strict;
use warnings;
open(FILE, "test.txt") or die("Unable to open file.");
my @data = <FILE>;
close(FILE);
foreach my $line (@data){
unlink($line);
}
Run Code Online (Sandbox Code Playgroud)
test.txt和remove_files.pl与要删除的文件位于同一目录中.我无法弄清楚为什么脚本不会删除文件.我错过了一个模块吗?
我创建了一些删除文件夹中所有文件的代码,问题是这很好,我希望能够删除目录中的所有文件,但保留文件夹完整,所以我不必进入每个文件文件夹并删除其中的文件,这是我目前的代码:
@ViewScoped
@ManagedBean
public class Delete {
public void DeleteFiles() throws IOException {
System.out.println("Called deleteFiles");
File file = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/up617648/");
String[] myFiles;
if (file.isDirectory()) {
myFiles = file.list();
for (int i = 0; i < myFiles.length; i++) {
File myFile = new File(file, myFiles[i]);
System.out.println(myFile);
myFile.delete();
}
DeleteFiles2();
}
}
public void DeleteFiles2() throws IOException {
System.out.println("Called deleteFiles2");
File file = new File("D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/up617648/");
String[] myFiles;
if (file.isDirectory()) {
myFiles = file.list();
for (int i = 0; i < myFiles.length; i++) …Run Code Online (Sandbox Code Playgroud) 我想删除Ubuntu 8.04服务器上的一些文件夹.
我想启动一个脚本来删除这个文件夹.
我启动了一个ssh会话到服务器.
我的脚本看起来像这样:
#!/bin/bash
rm -r /var/lib/backuppc/pc/PC1/
rm -r /var/lib/backuppc/pc/PC2/
Run Code Online (Sandbox Code Playgroud)
我像这样运行脚本:
sh scriptname.sh
Run Code Online (Sandbox Code Playgroud)
但是我得到了这样的信息:
rm: cannot remove `/var/lib/backuppc/pc/PC1/\r': No such file or directory
rm: cannot remove `/var/lib/backuppc/pc/PC1/\r': No such file or directory
Run Code Online (Sandbox Code Playgroud)
对不起,我不会在linux上使用shell脚本.我认为这是我的错,因为我不知道基础知识:-(
有人能帮助我吗?我要删除~80文件夹...... :-(