Почему файл .bat работает, а код C # не работает для сопоставления папок - PullRequest
0 голосов
/ 03 июля 2019

Я написал код на C # для сопоставления Drobo Drive с моей машиной, который не работает.но аналогичные строки кода, используемые в файле bat, работают и на картах.

Мне интересно, есть ли разница в коде C # и коде файла .bat, который позволяет коду работать для отображения.

В прошлом я также писал код на C #, который не работал для переноса файлов из Drobo, но работал код файла .bat.

Код из C #:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MapDrive
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Map Network drive
                System.Diagnostics.Process process = new System.Diagnostics.Process();
                System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();

                psi.FileName = "cmd.exe";

                psi.Arguments = @"/C net use N: \\DroboNS2\Folder /USER:credentials /PERSISTENT:YES";

                psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                process.StartInfo = psi;
                process.Start();
                process.WaitForExit();
                process.Close();
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("Error in mapping. Stack Trace: " + ex.ToString());
            }
        }
    }
}

Код VB:

@echo off
net use N: \\DroboNS2\Folder /USER:Credentials /persistent:yes

Оба файла (.exe и .bat) помещаются в папку автозагрузки и тестируются.

1 Ответ

1 голос
/ 03 июля 2019

Это будет работать.

using (Process process = Process.Start("net.exe", @"use N: \\DroboNS2\Folder /USER:credentials /PERSISTENT:YES"))
    process.WaitForExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...