Last active
July 6, 2024 14:48
-
-
Save maxwellamaral/0204d6e833eb02bd6ba5f8824e6598e4 to your computer and use it in GitHub Desktop.
Alterar diretório no sistema Johnny Decimal no Powershell | Change directory on Johnny Decimal system on Powershell
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function cdj { | |
param ( | |
[string]$folderName | |
) | |
# Atualize com a pasta raiz dos seus documentos | |
$rootPath = "D:\Cloud\OneDrive" | |
# Lista de diretórios correspondentes ao padrão | |
$matchingDirs = Get-ChildItem -Path $rootPath -Directory -Recurse | Where-Object { $_.Name -like "*$folderName*" } | |
# Verifica se há correspondências | |
if ($matchingDirs.Count -eq 0) { | |
Write-Host "Nenhum diretório correspondente encontrado para '$folderName'." | |
return | |
} | |
# Se houver apenas uma correspondência, navegue até ela | |
if ($matchingDirs.Count -eq 1) { | |
Set-Location -Path $matchingDirs[0].FullName | |
} else { | |
# Se houver várias correspondências, liste-as | |
Write-Host "Múltiplos diretórios correspondentes encontrados para '$folderName':" | |
$matchingDirs | ForEach-Object { Write-Host $_.FullName } | |
} | |
} |
For Bash in Linux:
cdj() {
# Update with your document root folder
pushd ~/projects/*/*/${1}*
}
export cdj
Simple script for PowerShell
function cdjd {
param (
[string]$folderName
)
# Atualize com a pasta raiz dos seus documentos
$rootPath = "D:\Cloud\OneDrive"
# Concatena $rootPath com $folderName usando o comando pushd
pushd "$rootPath\*\*\$folderName*"
}
To run Windows Explorer
function cdem {
param (
[string]$folderName
)
# Atualize com a pasta raiz dos seus documentos
$rootPath = "D:\Cloud\OneDrive"
# Lista de diretórios correspondentes ao padrão
$matchingDirs = Get-ChildItem -Path $rootPath -Directory -Recurse | Where-Object { $_.Name -like "*$folderName*" }
Write-Host "hello"
# Verifica se há correspondências
if ($matchingDirs.Count -eq 0) {
Write-Host "Nenhum diretório correspondente encontrado para '$folderName'."
return
}
# Se houver apenas uma correspondência, navegue até ela
if ($matchingDirs.Count -eq 1) {
Write-Host "$folderName"
explorer.exe $matchingDirs[0].FullName
}
else {
# Se houver várias correspondências, liste-as
Write-Host "Múltiplos diretórios correspondentes encontrados para '$folderName':"
$matchingDirs | ForEach-Object { Write-Host $_.FullName }
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Para inserir esse código na inicialização do PowerShell, você deve criar um perfil de inicialização personalizado. Siga as etapas abaixo:
No PowerShell
Test-Path $PROFILE
Se o comando retornar "False", você não tem um perfil de inicialização existente. Caso contrário, ele retornará "True", indicando que você já tem um perfil.
Se você não tiver um perfil de inicialização existente, crie um. Execute o seguinte comando para criar um perfil de inicialização:
No PowerShell
New-Item -Path $PROFILE -ItemType File -Force
Agora, você pode abrir o perfil de inicialização em seu editor de texto preferido para editá-lo. Você pode usar o cmdlet notepad para abrir o perfil no Bloco de Notas, por exemplo:
No PowerShell
notepad $PROFILE
Dentro do arquivo do perfil, você pode adicionar o código PowerShell que deseja executar na inicialização.