SkillAgentSearch skills...

GenXdev.FileSystem

A Windows PowerShell module for basic and advanced file management tasks

Install / Use

/learn @genXdev/GenXdev.FileSystem
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<hr/> <img src="powershell.jpg" alt="GenXdev" width="50%"/> <hr/>

NAME

GenXdev.FileSystem

SYNOPSIS

A Windows PowerShell module for basic and advanced file management tasks

GenXdev.FileSystem License

APACHE 2.0 License

Copyright (c) 2025 René Vaessen / GenXdev

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

FEATURES

* Simple but agile utility for renaming text throughout a project directory,
      including file- and directory- names: Rename-InProject -> rip

* Pretty good wrapper for robocopy, Microsoft's robuust file copy utility: Start-RoboCopy -> rc, xc
    * Folder synchronization
    * Support for extra long pathnames > 256 characters
    * Restartable mode backups
    * Support for copying and fixing security settings
    * Advanced file attribute features
    * Advanced symbolic link and junction support
    * Monitor mode (restart copying after change threshold)
    * Optimization features for LargeFiles, multithreaded copying and
         network compression
    * Recovery mode (copy from failing disks)

* Find files with Find-Item -> l
    * Fast multi-threaded search: utilizes parallel and asynchronous
          IO processing with configurable maximum degree of parallelism
          (default based on CPU cores) for efficient file and directory scanning.
    * Advanced Pattern Matching: Supports wildcards (*, ?), recursive patterns
          like **, and complex path structures for precise file and directory queries.
          **/filename will only recurse until filename is matched. multiple of these
          patterns are allowed, as long as the are preceeded with a filename or
          directoryname to match.
          This pattern parser has the power of Resolve-Path but has recursion
          features, and does only support * and ? as wildcards,
          preventing bugs with paths with [ ] brackets in them, eliminating
          the need for -LiteralPath parameter, while maintaining integrity
          for paths sections without wildcards, unlike a wildcard match on the
          whole full path.
    * Enhanced Content Searching: Comprehensive Select-String integration
          with regular expression patterns within file contents using the
          -Content parameter.
        * Large File Optimization: Handles extremely large files with smart
              overlapping buffers and minimal heap allocation
        * Multiple Match Options: Find all matches per line (-AllMatches) or
              just the first match per file (-List)
        * Case Sensitivity Control: Case-sensitive matching (-CaseSensitive)
              with culture-specific options (-Culture)
        * Context Capture: Show lines before and after matches (-Context) for
              better understanding
        * Inverse Matching: Find files that don't contain the pattern (-NotMatch)
        * Output Formats: Raw string output (-Raw), quiet boolean response (-Quiet),
              or full MatchInfo objects
        * Pattern Types: Regular expressions (default) or simple literal string
              matching (-SimpleMatch)
        * Encoding Support: Specify file encoding (-Encoding) for accurate text
              processing
    * Path Type Flexibility: Handles relative, absolute, UNC, rooted paths, and
          NTFS alternate data streams (ADS) with optional content search in streams.
    * Multi-Drive Support: Searches across all drives with -AllDrives or specific
          drives via -SearchDrives, including optical disks if specified.
    * Directory and File Filtering: Options to search directories only (-Directory),
          both files and directories (-FilesAndDirectories), or files with content matching.
    * Exclusion and Limits: Exclude patterns with -Exclude, set max recursion depth
          -MaxRecursionDepth), file size limits (-MaxFileSize, -MinFileSize), and modified
          date filters (-ModifiedAfter, -ModifiedBefore).
    * Output Customization: Supports PassThru for FileInfo/DirectoryInfo objects,
          relative paths, hyperlinks in attended mode, or plain paths in unattended mode
          (use -NoLinks in case of mishaps to enforce unattended mode).
    * Performance Optimizations: Skips non-text files by default for content search
          (override with -IncludeNonTextFileMatching), handles long paths (>260 chars),
          and follows symlinks/junctions.
    * Safety Features: Timeout support (-TimeoutSeconds), ignores inaccessible items,
          skips system attributes by default, and prevents infinite loops with visited node tracking.

* Easily change directories with Set-FoundLocation -> lcd
    * Find directories by name/wildcard
    * Supports most of Find-Items parameters, like searching in file contents to match
          the directory to change location too
    * Has autocompletion, just type the first letters and press Tab or CTRL-SPACE

* Delete complete directory contents with Remove-AllItems -> sdel
    * Optionally delete the root folder as well

* Move files and directories with Move-ItemWithTracking

INSTALLATION

Install-Module "GenXdev.FileSystem"
Import-Module "GenXdev.FileSystem"

UPDATE

Update-Module

<br/><hr/><br/>

Cmdlet Index

GenXdev.FileSystem

| Command | Aliases | Description | | :--- | :--- | :--- | | Confirm-InstallationConsent |   |   | | Copy-IdenticalParamValues |   | Copies parameter values from bound parameters to a new hashtable based on another function's possible parameters. | | EnsurePester |   |   | | Expand-Path | ep | Expands any given file reference to a full pathname. | | Find-DuplicateFiles | fdf | Find duplicate files across multiple directories based on configurable criteria. | | Find-Item | l | Fast multi-threaded file and directory search with optional textcontent pattern matching capabilities. | | Invoke-Fasti | fasti |   | | Move-ItemWithTracking |   | Moves files and directories while preserving filesystem links and references. | | Move-ToRecycleBin |   | Moves files and directories to the Windows Recycle Bin safely. | | ReadJsonWithRetry |   | Reads JSON file with retry logic and automatic lock cleanup. | | Remove-AllItems | sdel |   | | Remove-ItemWithFallback | rmf |   | | Remove-OnReboot |   | Marks files or directories for deletion during the next system boot. | | Rename-InProject | rip |   | | ResolveInputObjectFileNames |   |   | | Set-FoundLocation | lcd | Finds the first matching file or folder and sets the location to it. | | Set-LocationParent | .. | Changes the current location to the parent directory and lists its contents. | | Set-LocationParent2 | ... | Navigates up two directory levels in the file system hierarchy. | | Set-LocationParent3 | .... | Navigates up three directory levels in the file system hierarchy. | | Set-LocationParent4 | ..... | Navigates up four directory levels in the filesystem hierarchy. | | Set-LocationParent5 | ...... | Navigates up five directory levels in the file system hierarchy. | | Start-RoboCopy | rc, xc |   | | WriteFileOutput |   |   | | WriteJsonAtomic |   |   |

<br/><hr/><br/>

Cmdlets

 <hr/>

GenXdev.FileSystem<hr/>

Confirm-InstallationConsent


   Confirm-InstallationConsent  

SYNTAX

Confirm-InstallationConsent [-ApplicationName] <string>
    [-Source] <string> [-Description <string>] [-Publisher
    <string>] [-ForceConsent]
    [-ConsentToThirdPartySoftwareInstallation]
    [<CommonParameters>] 

PARAMETERS

 
    -ApplicationName <string>  
        The name of the application or software being installed.  
        Required?                    true  
        Position?                    0  
        Accept pipeline input?       false  
        Parameter set name           (All)  
        Aliases                      None  
        Dynamic?                     false  
        Accept wildcard characters?  false  
    -ConsentToThirdPartySoftwareInstallation  
        Automatically consent to third-party software installation and set persistent flag.  
 
View on GitHub
GitHub Stars43
CategoryDevelopment
Updated12d ago
Forks7

Languages

C#

Security Score

75/100

Audited on Mar 23, 2026

No findings