如何编写一个简单的C#脚本将文件复制到一级目录?

时间:2012-01-29 01:29:12

标签: c# file copy move

尝试编写一个简单的C#脚本,将文件复制到一级目录。这是我所拥有的,但它发送了一个错误,

  

“Script.OnActivate()”并非所有代码路径都返回一个值。

和我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.Windows.Forms;
using System.Globalization;

    class Script : CopyFile {

        public static bool OnActivate() {
            CopyDataFile("script/file.js", "../file.js");
        }

    }

解决!

using System;
using System.IO;

class Script : CopyFile {

    public static void OnActivate() {
        FileInfo myFile = new FileInfo("script/file.js"); 
        myFile.CopyTo(myFile.Directory.Parent.FullName + "\\" + myFile.Name); 
    }

}

这会将file.js移动到“script /”

上一级的目录中

2 个答案:

答案 0 :(得分:3)

描述如下所述。你需要将OnActive更改为void,或者返回一个布尔值(即如果CopyDataFile返回一个布尔值,则返回CopyDataFile(...))

答案 1 :(得分:2)

发生错误是因为您没有返回bool

   public static bool OnActivate() {
        CopyDataFile("script/file.js", "../file.js");
        return true;
    }

如果您不希望返回某些内容,请按方法返回void,请执行以下操作

   public static void OnActivate() {
        CopyDataFile("script/file.js", "../file.js");
    }
  

MSDN void运算符计算其表达式,并返回undefined。在您希望计算表达式但不希望结果对脚本的其余部分可见的情况下,它最有用。