Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

(C#) Filesystem snippets

Featured Replies

I created a DLL for myself with usefull methods that have to do with the windows filesystem, decided to just share it here

 

Files

/// <summary>
    /// This class contains usefull methods that provide info about files
    /// </summary>
    public static class Files
    {
        
 
      
        
 
        static OpenFileDialog fileDialog = new OpenFileDialog();
        /// <summary>
        /// Gets all the selected files and their path in the folder with an OpenFileDialog.
        /// </summary>
        /// <returns>string array of files and their path</returns>
        public static string[] getSelectedFilesWithPath()
        {            
            fileDialog.Multiselect = true;
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string[] files = new string[fileDialog.FileNames.Length];
                for (int i = 0; i < files.Length; i++)
                {
                    files[i] = fileDialog.FileNames[i];
                }
                return files;                
            }
            else
                return new string[] { "" };
        }
 
        /// <summary>
        /// Gets all the selected files and their path in the folder with an OpenFileDialog.
        /// </summary>
        /// <param name="filterDescription">Description of the filter. Example: Image files</param>
        /// <param name="extensionFilter">File extension filter. Example: "*.jpg; *.jpeg;"</param>
        /// <returns>string array of files and their path</returns>
        public static string[] getSelectedFilesWithPath(string filterDescription, string extensionFilter)
        {            
            fileDialog.Multiselect = true;
            fileDialog.Filter = (filterDescription + "| " + extensionFilter);
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string[] files = new string[fileDialog.FileNames.Length];
                for (int i = 0; i < files.Length; i++)
                {
                    files[i] = fileDialog.FileNames[i];
                }
                return files;
            }
            else
                return new string[] { "" };
        }
 
 
        /// <summary>
        /// Gets all names and extensions from the selected files with an OpenFileDialog.
        /// </summary>
        /// <returns>string array of files and their extensions</returns>
        public static string[] getSelectedFileNames()
        {                        
            fileDialog.Multiselect = true;
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                string[] files = new string[fileDialog.FileNames.Length];
                for (int i = 0; i < fileDialog.SafeFileNames.Length; i++)
                {
                    files[i] = fileDialog.SafeFileNames[i];
                }
                return files;
            }
            else
                return new string[] { "" };
        }
 
 
        /// <summary>
        /// Gets the name and the extension of the selected file
        /// </summary>
        /// <returns>The name of the selected file and its extension</returns>
        public static string getSelectedFileName()
        {
            fileDialog.Multiselect = false;
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                return fileDialog.SafeFileName;
            }
            else
                return "";
        }
 
        /// <summary>
        /// Gets the path to the selected file
        /// </summary>
        /// <returns>Path to the file and its name and extension</returns>
        public static string getSelectedFileWithPath()
        {
            fileDialog.Multiselect = false;
            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                return fileDialog.FileName;
            }
            else
                return "";
        }
 
       
 
        /// <summary>
        /// Gets all the files and the path to them in the given path 
        /// </summary>
        /// <param name="path">Path of the folder</param>
        /// <returns>string array of files and their path</returns>
        public static string[] GetFilesWithPathInFolder(string path)
        {
            return Directory.GetFiles(path);            
        }
 
        /// <summary>
        /// Gets all the files and the path to them in the given path 
        /// </summary>
        /// <param name="path">Path of the folder</param>
        /// <param name="filter">File filter. Example: "*.jpg; *.jpeg;"</param>
        /// <returns>string array of files and their path</returns>
        public static string[] getFilesWithPathInFolder(string path,string filter)
        {
 
            string supportedExtensions = filter;
            List<string> files = new List<string>();
            foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower())))
            {
                files.Add(file);
            }
            return files.ToArray();
        }
 
        /// <summary>
        /// Gets all the filenames and their extension in the given path 
        /// </summary>
        /// <param name="path">Path of the folder</param>
        /// <returns>string array of filenames and their extensions</returns>
        public static string[] getFileNamesInFolder(string path)
        {
            string[] fullFiles =  Directory.GetFiles(path);
            List<string> fileNames = new List<string>();
            foreach(string file in fullFiles)
            {                
                fileNames.Add(Path.GetFileName(file));
            }
 
            return fileNames.ToArray();
        }
 
 
        /// <summary>
        /// Gets all the filenames and their extension in the given path 
        /// </summary>
        /// <param name="path">Path of the folder</param>
        /// <returns>string array of filenames and their extensions</returns>
        public static string[] getFileNamesInFolder(string path,string filter)
        {            
            string supportedExtensions = filter;
            List<string> files = new List<string>();
            foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower())))
            {
                files.Add(file);
            }
            
            List<string> fileNames = new List<string>();
            foreach (string file in files)
            {
                fileNames.Add(Path.GetFileName(file));
            }
 
            return fileNames.ToArray();
        }
 
        /// <summary>
        /// Gets the size of a file in bytes
        /// </summary>
        /// <param name="path">Path of the file</param>
        /// <returns>Size of the file in bytes</returns>
        public static long getFileSize(string path)
        {
            FileInfo finf = new FileInfo(path);
            return finf.Length;
        }
 
        public static void CreateHiddenFile(string path)
        {
            FileInfo fInfo = new FileInfo(path);
            fInfo.Create();
            fInfo.Attributes |= FileAttributes.Hidden;
        }
 
 
 
 
 
 
        /// <summary>
        /// Class for file attributes
        /// </summary>
        public class Properties
        {
            public static bool isReadOnly(string path)
            {
                FileInfo fInfo = new FileInfo(path);
 
                if (fInfo.IsReadOnly)
                    return true;
                else
                    return false;                
            }
            public static bool ishidden(string path)
            {
                FileInfo fInfo = new FileInfo(path);
 
                if (fInfo.Attributes.HasFlag(FileAttributes.Hidden))
                    return true;
                else
                    return false;
            }
            public static bool isEncrypted(string path)
            {
                FileInfo fInfo = new FileInfo(path);
                
                if (fInfo.Attributes.HasFlag(FileAttributes.Encrypted))
                    return true;
                else
                    return false;
            }
 
            public static void setReadOnly(string path, bool yes)
            {
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    attr = attr | FileAttributes.ReadOnly;
                    File.SetAttributes(path, attr);
                }
                else
                {
                    attr = attr & ~FileAttributes.ReadOnly;
                    File.SetAttributes(path, attr);
                }
            }
            public static void setHidden(string path, bool yes)
            {
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    attr = attr | FileAttributes.Hidden;
                    File.SetAttributes(path, attr);
                }
                else
                {
                    attr = attr & ~FileAttributes.Hidden;
                    File.SetAttributes(path, attr);
                }
            }
            public static void setEncrypted(string path, bool yes)
            {
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    File.Encrypt(path);                    
                }
                else
                {
                    File.Decrypt(path);
                }
            }
        }
 
    }

 

Folders

/// <summary>
    /// This class contains usefull methods that provide info about folders
    /// </summary>
    public class Folders
    {
        /// <summary>
        /// Gets all the files in the folder and calculates the total file size in bytes
        /// </summary>
        /// <param name="path">Path of the folder</param>
        /// <returns>Total file size in bytes</returns>
        public static long getTotalFileSizeInFolder(string path)
        {
            long totalSize = 0;
            string[] files = Files.GetFilesWithPathInFolder(path);
            for (int i = 0; i < files.Length; i++)
                totalSize = totalSize + Files.getFileSize(files[i]);
 
            return totalSize;
        }
 
        /// <summary>
        /// Deletes all files in the folder
        /// </summary>
        /// <param name="path">Path to the folder</param>
        public static void deleteFilesInFolder(string path)
        {
            string[] files = Directory.GetFiles(path);
 
            foreach(string t in files)
            {
                File.Delete(t);
            }
        }
 
        /// <summary>
        /// Deletes every file in a folder that matches the filter
        /// </summary>
        /// <param name="path">Path to the folder</param>
        /// <param name="filter">Extension filter. Example: "*.jpg; *.jpeg;"</param>
        public static void deleteFilesInFolder(string path,string filter)
        {                       
            string supportedExtensions = filter;
            List<string> files = new List<string>();
            foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.AllDirectories).Where(s => supportedExtensions.Contains(Path.GetExtension(s).ToLower())))
            {
                File.Delete(file);
            }
        }
        public static void CreateHiddenFolder(string path)
        {
            DirectoryInfo dInfo = new DirectoryInfo(path);
            dInfo.Create();
            dInfo.Attributes |= FileAttributes.Hidden;
        }
 
 
 
 
 
 
 
        /// <summary>
        /// Class for file attributes
        /// </summary>
        public class Properties
        {
            public static bool isReadOnly(string path)
            {                
                DirectoryInfo dInfo = new DirectoryInfo(path);
 
                if (dInfo.Attributes.HasFlag(FileAttributes.ReadOnly))
                    return true;
                else
                    return false;
            }
            public static bool ishidden(string path)
            {
                DirectoryInfo dInfo = new DirectoryInfo(path);
 
                if (dInfo.Attributes.HasFlag(FileAttributes.Hidden))
                    return true;
                else
                    return false;
            }
 
            public static void setReadOnly(string path, bool yes)
            {                
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    attr = attr | FileAttributes.ReadOnly;
                    File.SetAttributes(path, attr);
                }
                else
                {
                    attr = attr & ~FileAttributes.ReadOnly;
                    File.SetAttributes(path, attr);
                }
            }
            public static void setHidden(string path, bool yes)
            {
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    attr = attr | FileAttributes.Hidden;
                    File.SetAttributes(path, attr);
                }
                else
                {
                    attr = attr & ~FileAttributes.Hidden;
                    File.SetAttributes(path, attr);
                }
            }
            public static void setEncrypted(string path, bool yes)
            {
                var attr = File.GetAttributes(path);
                if (yes)
                {
                    File.Encrypt(path);
                }
                else
                {
                    File.Decrypt(path);
                }
            }
        }
    }

 

Shortcuts

public class Shortcuts
    {
        static IWshShortcut Shortcut;
        static WshShell shell = new WshShell();
 
        /// <summary>
        /// Creates a shortcut of a file
        /// </summary>
        /// <param name="shortcutPath">Path of the shortcut. Where do you want to place the shortcut?</param>
        /// <param name="shortcutName">The name of the shortcut that will appear in the windows file explorer</param>
        /// <param name="targetPath">Path to the target of the shortcut. What does the shortcut target?</param>
        /// <param name="description">Description of the shortcut.</param>
        public static void CreateShortcut(string shortcutPath, string shortcutName, string targetPath, string description)
        {                                               
            //Where do you want to create the shortcut + what is the name of the shortcut?
            Shortcut = (IWshShortcut)shell.CreateShortcut(shortcutPath + "\\" + shortcutName + ".lnk");
            //What is the shortcut's target?
            Shortcut.TargetPath = targetPath;
            //Tooltip
            Shortcut.Description = description;
            Shortcut.Save();            
        }        
    }

 

 

 

Sample usage

FSManager.Folders.CreateHiddenFolder(@"C:\test");
 
 
FSManager.Folders.deleteFilesInFolder(@"C:\users\me\documents\sample folder", "*.png;*.bmp;*.jpg;*.jpeg"); //deletes image files in sample folder
 
 
List<string> fileNames = FSManager.Files.getFileNamesInFolder("C:\test").ToList();
string[] fileNames = FSManager.Files.getFileNamesInFolder("C:\test");

 

 

 

DLL: https://mega.nz/#!tAQSEKgA!u6eCjqJlf59EM3zyLVI1id4vnIwPa3jg2sDy7U4HRjc

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.