Filesystems 文件路径/大小(C)#
如何获取文件的文件目录(C:\myfolder\subfolder\mydoc.pdf)。我还想添加子文件夹的大小,最后是主文件夹的大小。这是用于.NET CLR的,我需要将其与SQL Server 2005集成以生成SSRS报告。您可以使用,以仅获取文件的目录路径:Filesystems 文件路径/大小(C)#,filesystems,clr,directory,Filesystems,Clr,Directory,如何获取文件的文件目录(C:\myfolder\subfolder\mydoc.pdf)。我还想添加子文件夹的大小,最后是主文件夹的大小。这是用于.NET CLR的,我需要将其与SQL Server 2005集成以生成SSRS报告。您可以使用,以仅获取文件的目录路径: using System.IO; string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf"); // directoryName
using System.IO;
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf");
// directoryName now contains "C:\myfolder\subfolder"
要计算目录和子目录的大小,可以执行以下操作:
public static long DirSize(DirectoryInfo d)
{
long Size = 0;
// Add file sizes.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
{
Size += fi.Length;
}
// Add subdirectory sizes.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
{
Size += DirSize(di);
}
return(Size);
}
您可以使用,仅获取文件的目录路径:
using System.IO;
string directoryName = Path.GetDirectoryName(@"C:\myfolder\subfolder\mydoc.pdf");
// directoryName now contains "C:\myfolder\subfolder"
要计算目录和子目录的大小,可以执行以下操作:
public static long DirSize(DirectoryInfo d)
{
long Size = 0;
// Add file sizes.
FileInfo[] fis = d.GetFiles();
foreach (FileInfo fi in fis)
{
Size += fi.Length;
}
// Add subdirectory sizes.
DirectoryInfo[] dis = d.GetDirectories();
foreach (DirectoryInfo di in dis)
{
Size += DirSize(di);
}
return(Size);
}
我在将长数据类型与SQL Server程序集集成时遇到问题。是否有与SQL Server兼容的long替代品?long是您应该在C#代码中使用的—您需要在数据库中找到与之匹配的最合适的数据类型。我现在无法检查,但我确定存在一个合适的64位整数类型。我收到错误“为“DirSize”创建函数失败,因为参数“@dir”的t-SQL和CLR类型不匹配。”我的CREATE FUNCTION语句是:CREATE FUNCTION DirSize(@dir VARCHAR(MAX))返回BIGINT外部名称getdirsize.ShowDirSize.DirSize getdirsize是我的sql程序集的名称看起来数据类型问题在于“dir”参数,可能是字符串路径,而不是数字。您传递的是正确的吗?@Khoth什么数据类型与DirectoryInfo兼容?我在将其与SQL Server程序集集成时遇到了长数据类型的问题。是否有与SQL Server兼容的long替代品?long是您应该在C#代码中使用的—您需要在数据库中找到与之匹配的最合适的数据类型。我现在无法检查,但我确定存在一个合适的64位整数类型。我收到错误“为“DirSize”创建函数失败,因为参数“@dir”的t-SQL和CLR类型不匹配。”我的CREATE FUNCTION语句是:CREATE FUNCTION DirSize(@dir VARCHAR(MAX))返回BIGINT外部名称getdirsize.ShowDirSize.DirSize getdirsize是我的sql程序集的名称看起来数据类型问题在于“dir”参数,可能是字符串路径,而不是数字。您传递的是正确的吗?@Khoth什么数据类型与DirectoryInfo兼容?