【问题标题】:Check if renaming of a folder is successful by using a batch file使用批处理文件检查文件夹重命名是否成功
【发布时间】:2013-01-08 09:33:07
【问题描述】:

我有一批要重命名的文件夹。我怎么知道重命名是否成功,因为我不会一直在那里。我的批处理文件如下:

@echo off
ren "C:\Program Files (x86)\Application Folder" "AppFolder"

我正在使用 C# 代码使用 Process.Start(); 运行它,感谢您的帮助。

【问题讨论】:

  • 检查进程的退出代码...
  • 如果您不在场,我想您将不得不在失败时发送电子邮件或短信...
  • 你如何知道它失败了?
  • 你也可以考虑不使用批处理文件:System.IO.File.Move
  • @Sandy,因为无论如何您都是在 C# 中运行批处理文件,所以这似乎是毫无意义的,但是您可以直接在本机 C# 中执行该批处理文件中的内容。这并不难维护,主要是一种观察,因为您在不需要时将另一个实体添加到您的流程中。

标签: c# batch-file rename


【解决方案1】:

你应该在调用它之后检查流程实例的Exit Code。 - http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode.aspx

【讨论】:

    【解决方案2】:

    所以我是批处理文件处理的新手。帮助别人是一种荣幸。

            process.StartInfo.FileName = @"C:\MyBatchFile.bat";
            process.Start();
            process.WaitForExit();
    
            // Check if renaming is successful.
            if (process.ExitCode != 0)
            {
                // Renaming failed.
            }
    

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      您总是可以在 c# 中执行此操作,而不是调用批处理文件。 见File.Move 然后你就可以捕获任何可能抛出的异常......

      【讨论】:

      • 在很多地方都看到过这个答案,但真的不相信。假设我尝试移动它并且它移动成功,那么我应该将它移回并重命名它......我觉得重命名是 OP 正在寻找的东西......
      • 如果你可以在c#中做到这一点,在c#中做到这一点
      • 但 OP 正在谈论使用批处理文件.....是的,您的解决方案适用于 C#
      【解决方案4】:

      如果您想检查批处理文件中的重命名,只需这样做:

      @echo off
      ren "C:\Program Files (x86)\Application Folder" "AppFolder"
      if %errorlevel% gtr 0 (
         echo RENAME FAILED!
      )
      

      如果你想在 C# 中检查重命名,我建议你在 C# 中进行重命名。

      【讨论】:

        猜你喜欢
        • 2013-01-19
        • 2013-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-10
        • 2019-05-25
        • 2014-02-26
        相关资源
        最近更新 更多