예제 #1
0
        public void AddDir(string dirName)
        {
            dirName = IO.RemoteLastEnMark(dirName);

            DirEntry[] ee = IO.EnumDirEx(dirName);

            foreach (DirEntry e in ee)
            {
                if (e.IsFolder == false)
                {
                    AddFile(e.FullPath, dirName);
                }
            }
        }
예제 #2
0
        public static byte[] PackDir(PackerFileFormat format, string topDirPath, string appendPrefixDirName, ProgressDelegate proc)
        {
            string[]      fileList         = Directory.GetFiles(topDirPath, "*", SearchOption.AllDirectories);
            List <string> relativeFileList = new List <string>();

            foreach (string fileName in fileList)
            {
                string relativePath = IO.GetRelativeFileName(fileName, topDirPath);

                if (Str.IsEmptyStr(appendPrefixDirName) == false)
                {
                    relativePath = IO.RemoteLastEnMark(appendPrefixDirName) + "\\" + relativePath;
                }

                relativeFileList.Add(relativePath);
            }

            return(PackFiles(format, fileList, relativeFileList.ToArray(), proc));
        }
예제 #3
0
파일: Env.cs 프로젝트: lc11535/SoftEtherVPN
 static void initValues()
 {
     exeFileName = IO.RemoteLastEnMark(getMyExeFileName());
     if (Str.IsEmptyStr(exeFileName) == false)
     {
         exeFileDir = IO.RemoteLastEnMark(Path.GetDirectoryName(exeFileName));
     }
     else
     {
         exeFileDir = "";
     }
     homeDir = IO.RemoteLastEnMark(Kernel.GetEnvStr("HOME"));
     if (Str.IsEmptyStr(homeDir))
     {
         homeDir = IO.RemoteLastEnMark(Kernel.GetEnvStr("HOMEDRIVE") + Kernel.GetEnvStr("HOMEPATH"));
     }
     if (Str.IsEmptyStr(homeDir))
     {
         homeDir = CurrentDir;
     }
     systemDir  = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.System));
     windowsDir = IO.RemoteLastEnMark(Path.GetDirectoryName(systemDir));
     tempDir    = IO.RemoteLastEnMark(Path.GetTempPath());
     winTempDir = IO.RemoteLastEnMark(Path.Combine(windowsDir, "Temp"));
     IO.MakeDir(winTempDir);
     if (windowsDir.Length >= 2 && windowsDir[1] == ':')
     {
         windowsDrive = windowsDir.Substring(0, 2).ToUpper();
     }
     else
     {
         windowsDrive = "C:";
     }
     programFilesDir      = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
     personalStartMenuDir = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu));
     personalProgramsDir  = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.Programs));
     personalStartupDir   = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.Startup));
     personalAppDataDir   = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
     personalDesktopDir   = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
     myDocumentsDir       = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
     localAppDataDir      = IO.RemoteLastEnMark(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
     userName             = Environment.UserName;
     try
     {
         userNameEx = Environment.UserDomainName + "\\" + userName;
     }
     catch
     {
         userNameEx = userName;
     }
     machineName    = Environment.MachineName;
     commandLine    = initCommandLine(Environment.CommandLine);
     osInfo         = Environment.OSVersion;
     isNt           = (osInfo.Platform == PlatformID.Win32NT);
     isCe           = (osInfo.Platform == PlatformID.WinCE);
     is9x           = !(isNt || isCe);
     isLittleEndian = BitConverter.IsLittleEndian;
     processId      = System.Diagnostics.Process.GetCurrentProcess().Id;
     isAdmin        = checkIsAdmin();
     initMyTempDir();
 }