///
<summary>
/// 递归得到文件目录树
/// </summary>
/// <param name="sDir"> GetFileList(@"c:Windows") </param>
static void GetFileList( string sDir)
{
// 处理根目录下的文件
foreach ( string sFiles in Directory.GetFiles(sDir))
{
Console.WriteLine(sFiles);
wt(sFiles);
}
// 处理包含文件夹
foreach ( string sDirs in Directory.GetDirectories(sDir))
{
foreach ( string sFiles in Directory.GetFiles(sDirs))
{
Console.WriteLine(sFiles);
wt(sFiles);
}
// 开始递归调用
GetFileList(sDirs);
}
}
/// <summary>
/// 递归得到注册表键值,键值为空会出错,不明白为什么,所以加了判断
/// </summary>
/// <param name="sRegKey"> GetRegList(@"SOFTWAREMicrosoft") </param>
static void GetRegList( string sRegKey)
{
RegistryKey rkRoot = Registry.LocalMachine.OpenSubKey(sRegKey, true );
if (rkRoot != null )
{
foreach ( string sRootKeyNames in rkRoot.GetValueNames())
{
Console.WriteLine(rkRoot + " / " + sRootKeyNames + " : " + rkRoot.GetValue(sRootKeyNames).ToString());
}
foreach ( string sDirs in rkRoot.GetSubKeyNames())
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey(sRegKey + " / " + sDirs, true );
if (rk != null )
{
foreach ( string sKeyNames in rk.GetValueNames())
{
string ss = sRegKey + " / " + sDirs;
RegistryKey rkTemp = Registry.LocalMachine.OpenSubKey(ss);
Console.WriteLine(ss + " / " + sKeyNames + " : " + rkTemp.GetValue(sKeyNames));
}
GetRegList(sDirs);
}
}
}
}
/// 递归得到文件目录树
/// </summary>
/// <param name="sDir"> GetFileList(@"c:Windows") </param>
static void GetFileList( string sDir)
{
// 处理根目录下的文件
foreach ( string sFiles in Directory.GetFiles(sDir))
{
Console.WriteLine(sFiles);
wt(sFiles);
}
// 处理包含文件夹
foreach ( string sDirs in Directory.GetDirectories(sDir))
{
foreach ( string sFiles in Directory.GetFiles(sDirs))
{
Console.WriteLine(sFiles);
wt(sFiles);
}
// 开始递归调用
GetFileList(sDirs);
}
}
/// <summary>
/// 递归得到注册表键值,键值为空会出错,不明白为什么,所以加了判断
/// </summary>
/// <param name="sRegKey"> GetRegList(@"SOFTWAREMicrosoft") </param>
static void GetRegList( string sRegKey)
{
RegistryKey rkRoot = Registry.LocalMachine.OpenSubKey(sRegKey, true );
if (rkRoot != null )
{
foreach ( string sRootKeyNames in rkRoot.GetValueNames())
{
Console.WriteLine(rkRoot + " / " + sRootKeyNames + " : " + rkRoot.GetValue(sRootKeyNames).ToString());
}
foreach ( string sDirs in rkRoot.GetSubKeyNames())
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey(sRegKey + " / " + sDirs, true );
if (rk != null )
{
foreach ( string sKeyNames in rk.GetValueNames())
{
string ss = sRegKey + " / " + sDirs;
RegistryKey rkTemp = Registry.LocalMachine.OpenSubKey(ss);
Console.WriteLine(ss + " / " + sKeyNames + " : " + rkTemp.GetValue(sKeyNames));
}
GetRegList(sDirs);
}
}
}
}