diff options
Diffstat (limited to 'scripts/hide_ignored_file.ps1')
| -rw-r--r-- | scripts/hide_ignored_file.ps1 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/hide_ignored_file.ps1 b/scripts/hide_ignored_file.ps1 new file mode 100644 index 0000000..27355c2 --- /dev/null +++ b/scripts/hide_ignored_file.ps1 @@ -0,0 +1,29 @@ +# Hide all dotfiles and git-ignored files before build +# Set working directory to parent of script's directory +Set-Location -Path (Join-Path $PSScriptRoot "..") + +# First, unhide all files and directories in the current directory, but skip .temp and .git directories +Get-ChildItem -Path . -Force -Recurse -ErrorAction SilentlyContinue | Where-Object { + $_.FullName -notmatch '\\.temp\\' -and $_.FullName -notmatch '\\.git\\' +} | ForEach-Object { + attrib -h $_.FullName 2>&1 | Out-Null +} + +# Get all dotfiles and directories +Get-ChildItem -Path . -Force -Recurse -ErrorAction SilentlyContinue | Where-Object { + $_.Name -match '^\..*' -and $_.FullName -notmatch '\\\.\.$' -and $_.FullName -notmatch '\\\.$' +} | ForEach-Object { + attrib +h $_.FullName 2>&1 | Out-Null +} + +# Get git ignored files and hide them +if (Get-Command git -ErrorAction SilentlyContinue) { + git status --ignored --short | ForEach-Object { + if ($_ -match '^!!\s+(.+)$') { + $ignoredPath = $matches[1] + if (Test-Path $ignoredPath) { + attrib +h $ignoredPath 2>&1 | Out-Null + } + } + } +} |
