找了半天,没有找到太合适的。谁有好的办法呢?另外找到了一个 vb.net 的,里面有一个语句不会转成C#,谁能帮个忙呢? Shell = Server.CreateObject("Wscript.Shell") 在C#里面怎么写上面的语句呢?或者在VB.net 的类文件(.cs )里面怎么调用 Server 呢?

解决方案 »

  1.   

    有点乱哈case("zip"):   // 压缩
    string[] zip_tmp = this.name1.Value.Split(new char[]{'*'});
    string zip_tmp1= zip_tmp[zip_tmp.Length-1];
    if(this.CheckName(zip_tmp1))     //检测文件命名的合法性
    {
    string zip_tmp2=zip_tmp1.Replace(".zip",""); //移除“.zip”后缀,并防止名称重复 this.NameExisted(1,ServerDir+@"personal\"+zip_tmp2+".zip",out zip_tmp2);
    StreamWriter zip_sr =File.CreateText(ServerDir+"list.dat");
    zip_sr.Write("");
    zip_sr.Close();
    for(int m =0;m<zip_tmp.Length-1;m++)
    {
    //以系统默认的 ANSI 编码创建压缩文件列表 StreamWriter zip_sw2 =new StreamWriter(ServerDir+"list.dat",true,System.Text.Encoding.Default);   
    zip_sw2.WriteLine(ServerDir+zip_tmp[m]);
    zip_sw2.Close();
    }
    System.Diagnostics.Process Process1=new System.Diagnostics.Process();
    Process1.StartInfo.FileName=ServerDir+"Winrar.exe";
    Process1.StartInfo.Arguments=" a  -ep1 -inul -y "+zip_tmp2+@" @"+ServerDir+"list.dat";
    Process1.Start();    //进行压缩
    while(!Process1.HasExited)          //等待压缩的完成
    {
    }
    }
    break;
    case("unzip"):  //解压缩
    string [] un_tmp =this.name1.Value.Split(new char[]{'*'});
    int i2=0;         //防止名称冲突的参数
    foreach(string un_tmp2 in un_tmp)
    {
    if(un_tmp2!="")
    {
    string un_time=System.DateTime.Now.ToShortDateString()+"-"+System.DateTime.Now.Hour.ToString()+"-"+System.DateTime.Now.Minute.ToString()+"-"+(System.DateTime.Now.Second+i2).ToString();
    string un_dir =ServerDir+@"personal\Unzip-"+un_time;
    Directory.CreateDirectory(un_dir);              //创建以解压时间为名的文件夹
    StreamWriter un_sw=File.AppendText(ServerDir+"DirState.dat");
    un_sw.Write(@"personal\Unzip-"+un_time+"*");
    un_sw.Close();
    System.Diagnostics.Process Process2=new System.Diagnostics.Process();
    Process2.StartInfo.FileName=ServerDir+"Winrar.exe";
    Process2.StartInfo.Arguments=" x -inul -y "+ServerDir+un_tmp2+" "+un_dir;
    Process2.Start();        //进行解压
    while(!Process2.HasExited)           //等待解压的完成
    {
    }
    i2++;
    }
    }
    break;
      

  2.   

    http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx
      

  3.   

    Shell = Server.CreateObject("Wscript.Shell")  Shell.Run ()  返回 9 是什么意思呀?
      

  4.   

    老孟的网址不错,
    只是这个也没有太大的帮助
    private object Shell = Server.CreateObject("Wscript.Shell");
      

  5.   

    用Rar压缩之后,会加一大堆的文件夹,从分区的第一个文件夹算起,多余的怎么去掉呢比如 压缩后,包里面是 wwwroot 文件夹 ,里面是 web 在里面是 aa 在里面才是我要的文件 wwwroot /web/aa/a.aspx 这样的我只想要 /aa/a.aspx  这样的 ,去掉多余的  wwwroot /web 两级文件夹怎么处理呢?
      

  6.   

    另外再问一下:在网站里放  cmd.exe 和 rar.exe 会不会给网站带来危险