Em vez de:
$dlfile = $dldir += '\data.csv'
use:
$dlfile = $dldir + '\data.csv'
Eu tenho um script grande que vai pedir um diretório de download e baixar um monte de arquivos nele. No entanto, quando eu defino a string de nome de arquivo de download com base na string de diretório, elas são substituídas pela string de nome de arquivo completo. Aqui está o que eu quero dizer:
$dldir = 'c:\downloads'
$dlfile = $dldir += '\data.csv'
Isso resulta em $ dldir e $ dlfile a serem definidos como "c: \ downloads \ data.csv". Obviamente, como eu quero reutilizar $ dldir para definir $ dlfile várias vezes no script, não quero que isso mude. Alguém sabe como fazer isso?
Obrigado.
Outra opção seria usar o Join-Path
$dlfile = Join-Path $dldir '\data.csv'
O benefício do Join-Path é que você não precisa se preocupar com barras iniciais ou finais. o comando limpará isso para você e fornecerá um caminho de arquivo limpo e agradável.
Então
$dlfile = Join-Path $dldir 'data.csv'
ou
$dldir = 'c:\downloads\'
$dlfile = Join-Path $dldir '\data.csv'
ou
$dldir = 'c:\downloads\'
$dlfile = Join-Path $dldir '\data.csv'
seria tudo com um caminho válido. Isso é muito útil se você estiver inserindo o usuário no local do arquivo e não quiser se preocupar com a limpeza da entrada para barras finais.
Tags powershell