لتحقيق ما تريده، يمكنك استخدام الكود التالي للحصول على اسم المستخدم (owner) بدون اسم الجهاز في نهاية الاسم:
مقالات ذات صلة
csharpstring user = File.GetAccessControl(textBox1.Text).GetOwner(typeof(NTAccount)).Value;
string fileName = $"{user}.{DateTime.Now.ToString("dd-MM-yyyy")}.JPG";
في هذا الكود، سيتم استخدام Value
بدلاً من ToString()
للحصول على اسم المستخدم بدون اسم الجهاز. ثم يتم استخدام تاريخ اليوم لإنشاء اسم الملف المطلوب.
المزيد من المعلومات
لتحقيق هذا الهدف، يمكنك استخدام دالة GetOwner
مع FileSecurity
و SecurityIdentifier
للحصول على اسم المالك (owner) بدون اسم الجهاز. هذا مثال بسيط يوضح كيفية القيام بذلك:
csharpusing System;
using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;
class Program
{
static void Main()
{
string folderPath = @"C:\path\to\your\folder";
DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
SecurityIdentifier owner = directorySecurity.GetOwner(typeof(SecurityIdentifier)) as SecurityIdentifier;
// Get the owner's name
NTAccount ntAccount = owner.Translate(typeof(NTAccount)) as NTAccount;
string ownerName = ntAccount.Value;
// Use the owner's name to create the file name
string fileName = $"{ownerName}.{DateTime.Now.ToString("dd-MM-yyyy")}.JPG";
Console.WriteLine(fileName);
}
}
تأكد من تعديل folderPath
ليتماشى مع المسار الخاص بالمجلد الذي تريد البحث فيه عن الملفات.
الوسوم
C# اسم الجهاز اسم المالك