Articles

PowerShell Basics: Usando o Percurso de Teste para verificar se um ficheiro existe com Exemplos

Posted on

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
Convert-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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *