PowerShell Test-Path Cmdlet
Se houver um problema em encontrar um ficheiro, ou verificar se existe um objecto de contentor, então chamar o Percurso de Teste do PowerShell; ele responderá com um ‘Verdadeiro ou Falso’.
- Classic Example: PowerShell Verifica se existe um ficheiro
li>PowerShell Test-Path -IsValidli>PowerShell Test-Path -Excludeli>Um Exemplo de Caminho de Teste para o Fazer Pensarli>Test-Path -PathType
Exemplo Clássico: PowerShell Verifica se existe um ficheiro
Inicie com um simples script para verificar a existência do seu ficheiro.
# PowerShell Check If File Exists$WantFile = "C:\Windows\explorer.exe"Test-Path $WantFile
Nota 1: O único resultado que o PowerShell pode devolver é um verdadeiro ou um falso. No entanto, Test-Path clama por uma declaração “se” para agir sobre a saída, assim:-
Nota 2: Como com todos estes scripts, por favor, altere os meus exemplos para se adequarem ao seu ambiente.
Guy Recomenda: SolarWinds Wake-On-LAN Utility (FERRAMENTA LIVRE)
Encorajar os computadores a dormir quando não estão em uso é uma grande ideia – até que esteja longe da sua secretária e precise de um ficheiro naquela máquina de dormir remota!
WOL também tem usos comerciais, por exemplo, máquinas de despertar, para que possam ter aplicadas correcções de actualização. O meu verdadeiro motivo para recomendar-lhe o download desta ferramenta gratuita é porque é muito divertido enviar aqueles ‘Pacotes Mágicos’. Experimente a WOL – é grátis.
SolarWinds Wake-On-LAN Descarregar ferramenta 100% GRÁTIS
Test-Path Environmental Variables
Além da localização dos ficheiros físicos, também pode utilizar o Test-Path para interrogar o registo ou, como aqui, Variáveis Ambientais.
# PowerShell Test-Path for Environmental VariablesTest-Path env:\PathExt
Challenge: Quais destas são realmente Variáveis Ambientais?
Público, Privado, Temp, Tump e Tmp
PowerShell Test-Path -IsVálido
Um dos trabalhos subestimados para Test-Path é validar que a parte do caminho de um guião realmente existe.
PowerShell Test-Path -Excluir
Aqui está um problema da vida real, queria ver se existiam ficheiros que não fossem .gif, pnp, bmp ou .jpg, que se tenham misturado com a minha colecção de fotografias. Assunção: os ficheiros em que eu (nós) estou interessado são armazenados em H:\Sports\fun_pictures\
Nota 3: Terá de editar radicalmente o ficheiro acima se quiser que funcione no seu computador. Alterar os valores para $ImageFiles e também afinar as -excluir extensões do ficheiro. Ver mais em PowerShell Else.
Guy Recomenda: SolarWinds Engineer’s Toolset (FREE TRIAL)
Este conjunto de ferramentas de engenharia fornece uma consola abrangente de 50 utilitários para a resolução de problemas no computador. Guy diz que me ajuda a monitorizar o que está a ocorrer na rede, e cada ferramenta ensina-me mais sobre como funciona o sistema subjacente.
Existem tantos bons aparelhos; é como ter rédea solta de uma loja de doces. Felizmente, os utilitários são exibidos logicamente: monitorização, descoberta da rede, diagnóstico, e ferramentas Cisco. Experimente o Conjunto de Ferramentas do Engenheiro SolarWinds num teste gratuito de 14 dias agora!
Conjunto de Ferramentas do Engenheiro SolarWinds Descarregar o Conjunto de Ferramentas do Engenheiro SolarWinds 14 dias de teste gratuito
Um Exemplo de Percurso de Teste para o Fazer Pensar
Nota 4: Eu criei este guião deliberadamente. Não faz sentido em termos práticos. Por favor ajuste o valor de Excluir *.* para *.exe ou *.dll. Como pode ver, são permitidos wildcards no caminho e nas extensões.
Nota 5: Aqui usei explicitamente o parâmetro -Caminho, contudo, qualquer valor após o Caminho de Teste é assumido como sendo o local, portanto -Caminho é opcional.
Nota 6: Descobri muitas vezes que experimentar o Get-ChildItem ao lado do Caminho de Teste revela os pontos fortes e fracos destes dois cmdlets.
Pesquisar o Caminho de Teste PowerShell Cmdlet
# Find out more about PowerShell Test-Path cmdletClear-HostGet-Help Test-Path -full
Nota 7: Ao interrogar o Caminho de Teste com o Get-Help podemos descobrir parâmetros úteis tais como -IsVálido para verificar o caminho. Há também -Incluir e -excluir, que refinam o conteúdo da sua pesquisa. Foi graças à Get-Help que descobri -PathType.
Test-PathType
O principal objectivo do parâmetro -PathType é verificar se o objecto é um ficheiro ou uma pasta. Contudo, também pode ser utilizado no registo para verificar chaves ou dados.
Trap: HKLM: precisa desses dois pontos. Se simplesmente exportar áreas do registo, então copie como:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
thre are problems.
p>HKEY_LOCAL_MACHINE está bem, o espaço entre Windows e NT não é problema, mas a falta de dois pontos é um show-stopper, deveria ser:
HKEY_LOCAL_MACHINE:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Guy Recomenda: Network Performance Monitor (FREE TRIAL)
SolarWinds Network Performance Monitor (NPM) irá ajudá-lo a descobrir o que está a acontecer na sua rede. Este utilitário também o guiará na resolução de problemas; o painel de controlo indicará se a causa principal é uma ligação quebrada, equipamento defeituoso ou sobrecarga de recursos.
O que mais gosto é a forma como o NPM sugere soluções para problemas de rede. Tem também a capacidade de monitorizar a saúde das máquinas virtuais individuais VMware. Se estiver interessado em resolver problemas, e criar mapas de rede, então recomendo que experimente o NPM num teste gratuito de 30 dias.
SolarWinds Network Performance Monitor Download 30-day FREE Trial
The Rest of the Path Family
Haqui está uma técnica simples para encontrar mais cmdlets. Get-Command -Noun frequentemente apresenta resultados interessantes, por exemplo Resolve-Path.
# PowerShell Path Cmdlet ResearchClear-HostGet-Command -Noun Path
Join-Path
Resolve-Path
Split-Path
Test-Path
Join-Path Example
Her é um belo guião para encontrar qual a unidade que aloja uma determinada pasta.
Clear-Host$Folder = "Stuff"Get-PSDrive | Where-Object {$_.root -match ":\\" -and (Test-Path $(Join-Path $_.root $Folder))}
Nota 8: Por favor mude “Stuff” para o nome da pasta que está à procura.
Por exemplo: $Folder = “Program Files”
Ver mais tarefas da vida real para PowerShell “
Resumo do PowerShell Test-Path Cmdlet
O trabalho clássico para PowerShell Test-Path é verificar se existe um ficheiro. No entanto, pode estender a sua utilidade testando caminhos de registo, ou pesquisar ficheiros com uma extensão específica.
Veja mais tutoriais do Microsoft PowerShell:
– PowerShell Home – Test-ServerHealth – Test-SystemHealth – Test-Connection – Test-Path
– PowerShell Logon Script – PowerShell Adicionar impressora – PowerShell Schedule Task – Ferramenta de programação PowerShell – Ferramenta de programação CSVDE gratuita
– Map Network Drive – Exchange 2010 PowerShell Cmdlets – Exchange 2010 Performance Monitor
Por favor, envie-me um e-mail se tiver melhores exemplos de scripts. Por favor, reporte também quaisquer erros factuais, erros gramaticais ou links quebrados, terei todo o prazer em corrigir a falha.