本文整理匯總了C#中System.IO.DirectoryInfo.Substring方法的典型用法代碼示例。如果您正苦於以下問題:C# DirectoryInfo.Substring方法的具體用法?C# DirectoryInfo.Substring怎麽用?C# DirectoryInfo.Substring使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.IO.DirectoryInfo
的用法示例。
在下文中一共展示了DirectoryInfo.Substring方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Find
public static BackupRestore Find(string Root, string Product, string Id)
{
var Result = default(BackupRestore);
var Dir = Path.Combine(Root, BackupDirectory);
var FullId = GetFullId(Product, Id);
if (Directory.Exists(Dir))
{
var DirList = new List<DirectoryTag>();
foreach (var DateItem in Directory.GetDirectories(Dir))
{
DateTime date;
var DateName = new DirectoryInfo(DateItem).Name;
if (DateTime.TryParseExact(DateName, DateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
foreach (var VersionItem in Directory.GetDirectories(DateItem))
{
var VersionName = new DirectoryInfo(VersionItem).Name;
if (VersionName.StartsWith(FullId, StringComparison.InvariantCultureIgnoreCase))
{
Version BckpVersion;
var StrVersion = VersionName.Substring(FullId.Length);
if (Version.TryParse(StrVersion, out BckpVersion))
DirList.Add(new DirectoryTag { Name = VersionItem, Date = date, Version = BckpVersion });
}
}
}
}
var ByVersion = from i in DirList where i.Version == (from v in DirList select v.Version).Max() select i;
var ByDate = from i in ByVersion where i.Date == (from v in ByVersion select v.Date).Max() select i;
var SrcTag = ByDate.First();
Result = new BackupRestore { Id = Id, Root = GetComponentRoot(SrcTag, Id), BackupFile = Path.Combine(SrcTag.Name, AppZip), BackupMainConfigFile = GetMainConfig(SrcTag) };
}
return Result;
}
示例2: ResolveProcessorArchitecture
public static string ResolveProcessorArchitecture(string runtimePath)
{
var runtimeFullName = new DirectoryInfo(runtimePath).Name;
var runtimeName = runtimeFullName.Substring(0, runtimeFullName.IndexOf('.'));
var arch = runtimeName.Substring(runtimeName.LastIndexOf('-') + 1);
return arch;
}
示例3: DelLogFile
//刪除指定日期之前的日誌
public static void DelLogFile(string tag, DateTime dt)
{
//if ((DateTime.Now - dt).Days < 3)
//{
// throw new Exception("不允許刪除三天之內的日誌");
//}
//else
{
if (string.IsNullOrWhiteSpace(tag))
{
string[] logPaths = Directory.GetDirectories(GetFilePath(BASE_FILEPATH));
foreach (string logPath in logPaths)
{
string pathName = new DirectoryInfo(logPath).Name;
DateTime dtHas = new DateTime(int.Parse(pathName.Substring(0, 4)), int.Parse(pathName.Substring(4, 2)), int.Parse(pathName.Substring(6, 2)));
if (dtHas <= dt)
{
try
{
Directory.Delete(logPath, true);
}
catch
{
}
}
}
}
else
{
string[] logs = Directory.GetFiles(GetFilePath(BASE_FILEPATH), tag + "*.csv", SearchOption.AllDirectories);
foreach (string log in logs)
{
DateTime _dt = GetFileNameDateTime(log);
if (_dt <= dt)
{
bool success = false;
try
{
File.Delete(log);
success = true;
}
catch { success = false; }
}
}
}
}
}
示例4: GetIncludeFileVirtualPath
public string GetIncludeFileVirtualPath(string includeVirtualPath)
{
//string result = includeVirtualPath;
//if (includeVirtualPath.StartsWith("/"))
//{
// result = "~" + includeVirtualPath;
//}
if (includeVirtualPath.StartsWith("~/"))
return UrlUtil.ConvertDots(includeVirtualPath);
if (includeVirtualPath.StartsWith("/"))
return UrlUtil.ConvertDots("~" + includeVirtualPath);
string temp = IOUtil.JoinPath(Path.GetDirectoryName(this.FilePath), includeVirtualPath);
if (m_BaseFile != null && File.Exists(temp) == false)
{
temp = IOUtil.JoinPath(Path.GetDirectoryName(m_BaseFile.FilePath), includeVirtualPath);
}
temp = new DirectoryInfo(temp).FullName;
temp = temp.Substring(Globals.ApplicationPath.Length);
return UrlUtil.JoinUrl("~/", temp);
//return result;
}
示例5: WriteRESTFile
/// <summary>
/// Writes the REST file for a given type
/// </summary>
/// <param name="rootFolder"></param>
/// <param name="type"></param>
private void WriteRESTFile( string rootFolder, Type type )
{
string pluralizedName = pls.Pluralize( type.Name );
string baseName = new DirectoryInfo( rootFolder ).Name;
if ( baseName.EndsWith( ".Rest", StringComparison.OrdinalIgnoreCase ) )
{
baseName = baseName.Substring( 0, baseName.Length - 5 );
}
string restNamespace = type.Namespace;
if ( restNamespace.StartsWith( baseName + ".", true, null ) )
{
restNamespace = baseName + ".Rest" + restNamespace.Substring( baseName.Length );
}
else
{
restNamespace = ".Rest." + restNamespace;
}
restNamespace = restNamespace.Replace( ".Model", ".Controllers" );
var sb = new StringBuilder();
sb.AppendLine( "//------------------------------------------------------------------------------" );
sb.AppendLine( "// <auto-generated>" );
sb.AppendLine( "// This code was generated by the Rock.CodeGeneration project" );
sb.AppendLine( "// Changes to this file will be lost when the code is regenerated." );
sb.AppendLine( "// </auto-generated>" );
sb.AppendLine( "//------------------------------------------------------------------------------" );
sb.AppendLine( "// <copyright>" );
sb.AppendLine( "// Copyright 2013 by the Spark Development Network" );
sb.AppendLine( "//" );
sb.AppendLine( "// Licensed under the Apache License, Version 2.0 (the \"License\");" );
sb.AppendLine( "// you may not use this file except in compliance with the License." );
sb.AppendLine( "// You may obtain a copy of the License at" );
sb.AppendLine( "//" );
sb.AppendLine( "// http://www.apache.org/licenses/LICENSE-2.0" );
sb.AppendLine( "//" );
sb.AppendLine( "// Unless required by applicable law or agreed to in writing, software" );
sb.AppendLine( "// distributed under the License is distributed on an \"AS IS\" BASIS," );
sb.AppendLine( "// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied." );
sb.AppendLine( "// See the License for the specific language governing permissions and" );
sb.AppendLine( "// limitations under the License." );
sb.AppendLine( "// </copyright>" );
sb.AppendLine( "//" );
sb.AppendLine( "" );
sb.AppendFormat( "using {0};" + Environment.NewLine, type.Namespace );
sb.AppendLine( "" );
sb.AppendFormat( "namespace {0}" + Environment.NewLine, restNamespace );
sb.AppendLine( "{" );
sb.AppendLine( " /// <summary>" );
sb.AppendFormat( " /// {0} REST API" + Environment.NewLine, pluralizedName );
sb.AppendLine( " /// </summary>" );
sb.AppendFormat( " public partial class {0}Controller : Rock.Rest.ApiController<{1}.{2}>" + Environment.NewLine, pluralizedName, type.Namespace, type.Name );
sb.AppendLine( " {" );
sb.AppendFormat( " public {0}Controller() : base( new {1}.{2}Service( new Rock.Data.RockContext() ) ) {{ }} " + Environment.NewLine, pluralizedName, type.Namespace, type.Name );
sb.AppendLine( " }" );
sb.AppendLine( "}" );
var file = new FileInfo( Path.Combine( NamespaceFolder( rootFolder, restNamespace ).FullName, "CodeGenerated", pluralizedName + "Controller.cs" ) );
WriteFile( file, sb );
}
示例6: WriteRESTFile
/// <summary>
/// Writes the REST file for a given type
/// </summary>
/// <param name="rootFolder"></param>
/// <param name="type"></param>
private void WriteRESTFile( string rootFolder, Type type )
{
string pluralizedName = pls.Pluralize( type.Name );
string baseName = new DirectoryInfo( rootFolder ).Name;
if ( baseName.EndsWith( ".Rest", StringComparison.OrdinalIgnoreCase ) )
{
baseName = baseName.Substring( 0, baseName.Length - 5 );
}
string restNamespace = type.Namespace;
if ( restNamespace.StartsWith( baseName + ".", true, null ) )
{
restNamespace = baseName + ".Rest" + restNamespace.Substring( baseName.Length );
}
else
{
restNamespace = ".Rest." + restNamespace;
}
restNamespace = restNamespace.Replace( ".Model", ".Controllers" );
var properties = GetEntityProperties( type );
var sb = new StringBuilder();
sb.AppendLine( "//------------------------------------------------------------------------------" );
sb.AppendLine( "// <auto-generated>" );
sb.AppendLine( "// This code was generated by the Rock.CodeGeneration project" );
sb.AppendLine( "// Changes to this file will be lost when the code is regenerated." );
sb.AppendLine( "// </auto-generated>" );
sb.AppendLine( "//------------------------------------------------------------------------------" );
sb.AppendLine( "//" );
sb.AppendLine( "// THIS WORK IS LICENSED UNDER A CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL-" );
sb.AppendLine( "// SHAREALIKE 3.0 UNPORTED LICENSE:" );
sb.AppendLine( "// http://creativecommons.org/licenses/by-nc-sa/3.0/" );
sb.AppendLine( "//" );
sb.AppendLine( "" );
sb.AppendFormat( "using {0};" + Environment.NewLine, type.Namespace );
sb.AppendLine( "" );
sb.AppendFormat( "namespace {0}" + Environment.NewLine, restNamespace );
sb.AppendLine( "{" );
sb.AppendLine( " /// <summary>" );
sb.AppendFormat( " /// {0} REST API" + Environment.NewLine, pluralizedName );
sb.AppendLine( " /// </summary>" );
sb.AppendFormat( " public partial class {0}Controller : Rock.Rest.ApiController<{1}.{2}, {1}.{2}Dto>" + Environment.NewLine, pluralizedName, type.Namespace, type.Name );
sb.AppendLine( " {" );
sb.AppendFormat( " public {0}Controller() : base( new {1}.{2}Service() ) {{ }} " + Environment.NewLine, pluralizedName, type.Namespace, type.Name );
sb.AppendLine( " }" );
sb.AppendLine( "}" );
var file = new FileInfo( Path.Combine( NamespaceFolder( rootFolder, restNamespace ).FullName, "CodeGenerated", pluralizedName + "Controller.cs" ) );
WriteFile( file, sb );
}
示例7: button1_Click
private void button1_Click(object sender, EventArgs e)
{
// Create an instance of the open file dialog box.
OpenFileDialog openFileDialog1 = new OpenFileDialog();
// Set filter options and filter index.
openFileDialog1.Filter = "CSV Files (.csv)|*.csv|All Files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
// Call the ShowDialog method to show the dialog box.
DialogResult userClickedOK = openFileDialog1.ShowDialog();
// Process input if the user clicked OK.
if (userClickedOK == DialogResult.OK)
{
btnReadData.Enabled = true;
InputFileName = openFileDialog1.FileName;
TBInputFile.Text = InputFileName;
OutputFileName = new DirectoryInfo(InputFileName).Parent.Parent.Name;
OutputFileName = new DirectoryInfo(InputFileName).Parent.Parent.FullName +"\\"+ OutputFileName + ".txt";
TBOutputFile.Text = OutputFileName;
MarkerFileName = OutputFileName.Substring(0, OutputFileName.Length - 4) + "-markers.txt";
InterviewFileName = OutputFileName.Substring(0, OutputFileName.Length - 4) + "-events.txt";
lbStatus.Text = @"Ready";
lbStatus.ForeColor = Color.Green;
lbStatus.Refresh();
if(File.Exists(MarkerFileName)) //Ask if the previous files need to be deleted or you want to abort the operation.
{
DialogResult dialogResult = MessageBox.Show("Shimmerview Files for this Participant already exist. Do you want to delete the previous files and create new ones? Make sure you backup any previous interview information.", "Duplicate files", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
string[] filePaths = Directory.GetFiles(new DirectoryInfo(InputFileName).Parent.Parent.FullName);
foreach (string filePath in filePaths)
File.Delete(filePath);
lbStatus.Text = @"Previous Files Deleted";
lbStatus.ForeColor = Color.Red;
lbStatus.Refresh();
}
else if (dialogResult == DialogResult.No)
{
lbStatus.Text = @"Check Files in folder and restart MarkerParser";
lbStatus.ForeColor = Color.Red;
lbStatus.Refresh();
btnReadData.Enabled = false;
}
}
}
}