dos命令格式化d盘,显示由于该卷正被另一进程使用,无法运行format,怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dos命令格式化d盘,显示由于该卷正被另一进程使用,无法运行format,怎么办?相关的知识,希望对你有一定的参考价值。

你好:

——★1、你可以调出任务管理器trl + Alt + Del 键),查看进程,结束任务即可。


——★2、在右下面的通知栏的隐藏图标中,结束 D 盘中运行的程序。也可以重新启动电脑看看。


——★3、你还可以使用操作系统的格式化程序,格式化 D 盘

追问

查看进程怎么确认那些进程是d盘里的呢

追答

你好:如果不清楚进程的位置,可以暂时结束它,先进行格式化操作。

参考技术A 先把d盘的文件del光,看它还有啥进程可用追问

可是还是有些系统文件删不了

本回答被提问者采纳

IOException:该进程无法访问该文件,因为它正被另一个进程使用

【中文标题】IOException:该进程无法访问该文件,因为它正被另一个进程使用【英文标题】:IOException: The process cannot access the file because it is being used by another process 【发布时间】:2018-09-20 04:31:31 【问题描述】:

当我访问 ASP.NET Core 控制器的操作时,我正在尝试发送带有附件的电子邮件。附件由将 html 页面导出为 pdf 的站点下载。该函数发送电子邮件,但无法删除附件文件,因为它仍被另一个进程使用。 哪里错了?

public void SendAsHtml(string body, string subject, string emailTo, string url = null, string fileName = null)

    string path = null;
    using (SmtpClient client = GetSmtpClient())
    
        MailMessage mailMessage = new MailMessage
        
            From = new MailAddress(sendemail),
            Body = body,
            Subject = subject,
            IsBodyHtml = true
        ;
        mailMessage.To.Add(emailTo);

        if (url != null)
        
            if (fileName == null)
            
                fileName = DateTime.Now.ToString("yyyyMMddHHmmss.pdf");
            

            if (!fileName.EndsWith(".pdf"))
            
                fileName += ".pdf";
            
            path = @"c:\temp\" + fileName;
            DeleteFile(path);
            using (WebClient myWebClient = new WebClient())
            
                myWebClient.DownloadFile($"htmlToPdfServer?url=" + url, path);
            

            Attachment attachment = new Attachment(path);
            mailMessage.Attachments.Add(attachment);
        

        client.Send(mailMessage);
    

    if (path != null)
    
        // it does not work
        DeleteFile(path);
    



private static void DeleteFile(string path)

    try
    
        if (File.Exists(path))
        
            File.Delete(path);
        
    
    catch (Exception ex)
    
        Log.Warning($"Send email service: cannot delete file path ex.Message");
    

【问题讨论】:

处置,处置,处置,使用使用。 你究竟是从哪里得到这个错误的? DeleteFile 函数长什么样子? @Jerodev 我添加了 DeleteFile 代码。当我在 DeleteFile 中调用 File.Delete 时引发错误。 您处理了很多东西,但仍然忘记了一个 - MailMessage 本身实现了 IDisposable。因此,也将其包装在 using 中。 【参考方案1】:

您应该在发送邮件后尝试拨打attachment.Dispose()

为此,请在if (url != null) 之前声明Attachment attachment;,如果attachment != null,则在client.Send(mailMessage); 之后调用Dispose()

【讨论】:

以上是关于dos命令格式化d盘,显示由于该卷正被另一进程使用,无法运行format,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

进程无法访问图像文件,因为它正被另一个进程使用

该进程无法访问该文件,因为它正被另一个进程 Streamwriter 使用

dotnet publish 错误:该进程无法访问该文件,因为它正被另一个进程使用

System.IO.IOException: '该进程无法访问该文件,因为它正被另一个进程使用

IOException:该进程无法访问该文件,因为它正被另一个进程使用

该进程无法访问该文件,因为它正被另一个进程使用