Powershell redireciona para o valor da variável contendo cólon

1

Existe uma maneira de usar uma variável cujo valor contenha o caractere de dois pontos como uma string de nome de arquivo em um redirecionamento de linha de comando? Powershell sempre trata o cólon como um separador de unidade, independentemente dos caracteres de escape. Como isso pode ser feito usando os dois pontos como um literal de caractere contido no nome do arquivo de saída?

Exemplo:

$colonVar = "Colon:string"
echo "fileContents" > "file$colonVar.txt"

rendimentos

Cannot find drive. A drive with the name 'fileColon' does not exist.

Em vez disso, podemos escrever "fileContents" em um arquivo chamado "fileColon: string.txt"?

Eu não obtive êxito usando qualquer combinação de aspas simples ou duplas, caracteres de escape, parênteses ou cifrão e parênteses no valor da string ou na string de redirecionamento. A parte da string após os dois pontos é sempre tratada como uma unidade.

(usando o Powershell 2.0)

    
por taz 30.03.2016 / 21:54

1 resposta

1

No Windows, você não pode ter um arquivo com dois pontos em seu nome, então não é o PowerShell que está impedindo isso, é o sistema de arquivos. Retire o cólon e / ou substitua-o por um caractere válido para nomes de arquivos.

De link :

A filename cannot contain any of the following characters: 
\ / : * ? " < > | 
    
por 30.03.2016 / 22:04