Quando você precisa criar arquivos e pastas em um PC com Windows, usar a GUI parece ser a maneira mais intuitiva de fazê-lo. No entanto, o PowerShell pode criar arquivos e pastas de forma inteligente em massa. Esta é uma tarefa bastante comum para quase todos os profissionais de TI e, neste guia, vamos mostrar como criar seus arquivos e pastas usando o cmdlet New-Item do PowerShell.
Como criar um arquivo no PowerShell
Uma vez que você entenda como usar o PowerShell, a velocidade com que pode criar coisas torna tarefas mundanas muito mais fáceis. Vamos mergulhar e ver como criar arquivos e pastas usando os cmdlets New-Item, Add-Content e Test-Path.
Como criar um arquivo com o comando New-Item
É possível criar um novo arquivo com o cmdlet New-Item. Se eu quisesse criar um novo arquivo de texto chamado MeuArquivoDeTexto.txt, a sintaxe seria a seguinte:
New-Item MyTextFile.txt

No exemplo acima, o PowerShell criou um arquivo no diretório c:. No entanto, posso especificar um local diferente simplesmente adicionando o caminho ao nome do arquivo. Aqui está um exemplo abaixo:
New-Item c:\tools\MyNewFile.txt

Observe que na captura de tela acima, eu estava no diretório temp, mas criei o arquivo no diretório tools. Quando você estiver familiarizado com a criação de um novo arquivo, é apenas mais uma linha de código para adicionar e começar a criar arquivos em massa.
Aqui está um exemplo de como usar um simples loop ForEach para criar 10 arquivos, todos com um nome de arquivo semelhante.
(1..10) | ForEach-Object {New-item “MyNewFile$_.txt”}

Se necessário, você também pode usar o cmdlet Get-ChildItem para listar todos os arquivos nesse diretório.
Criar um arquivo após verificar se ele já existe
Você também pode usar o PowerShell para verificar se os arquivos já existem antes de tentar criá-los. Existem várias maneiras de verificar se os arquivos já existem com o PowerShell, mas a mais fácil é usar o cmdlet Test-Path.
Como o nome sugere, o cmdlet Test-Path pode verificar se um caminho existe. Você pode verificar caminhos de arquivos e/ou pastas. O cmdlet retorna True se um arquivo ou pasta existir e False se não existir.
No exemplo abaixo, estou verificando se o arquivo chamado MyTextFile.txt existe. Como o arquivo existe, o cmdlet Test-Path retornou True:
Test-Path MyTextFile.txt

Depois de aprender a lógica para testar se um arquivo existe, você pode usar o comando Test-Path com uma declaração If para criar um arquivo quando o Test-Path retornar falso. Vou te mostrar como fazer isso no exemplo abaixo:
- Aqui, estou usando uma variável chamada $FileName para o nome do arquivo para tornar meu código mais fácil de ler e evitar digitação repetitiva.
- Em seguida, adicionei uma declaração If para verificar um arquivo. Os colchetes redondos contêm a condição a ser testada. As chaves contêm o código que desejo executar se o teste for verdadeiro. Observe que o operador -not está sendo usado no meu exemplo.
- O código diz que se o arquivo chamado MyTextFile.txt não existir, então o arquivo deve ser criado. Uma declaração If só é executada se a condição for verdadeira.
- I have added the -not parameter to change the condition to match on False instead of True.
$Filename = "MyTextFile.txt" if (-not(test-path $Filename)){new-item $FileName}

Vamos analisar juntos a saída para saber exatamente o que aconteceu: No exemplo 1, executei meu código e nada aconteceu; observe que não há saída. Isso porque no meu diretório c:, um arquivo com o nome de MyTextFile.txt já existe. Como ele existe, a declaração if não executou o código.
No exemplo 2, no entanto, você pode notar que alterei o diretório do diretório temporário para o diretório de ferramentas. Como não há arquivo com o nome MyTextFile.txt neste último, quando executo o código pela segunda vez, a instrução if executa o cmdlet New-Item e cria um novo arquivo.
Como gravar dados em um arquivo novo ou existente
Já vimos como criar novos arquivos com PowerShell. No entanto, se você observar as capturas de tela anteriores, perceberá que o tamanho do arquivo de todos os novos arquivos é de 0 bytes. Isso ocorre porque o cmdlet New-Item realmente cria arquivos vazios.
Se você deseja adicionar dados a um arquivo existente, pode usar o cmdlet Add-Content. A sintaxe é fácil de entender, assim como para o comando New-item. Aqui está um exemplo abaixo:
Add-Content mytextfile.txt -Value "Here's some sample text written via PowerShell"
Em seguida, posso verificar meu arquivo usando o cmdlet Get-Content.
get-content .\mytextfile.txt

I can also open the file in PowerShell using the Invoke-Item cmdlet.
Invoke-Item .\mytextfile.txt

Como sobrescrever um arquivo existente
Se o PowerShell pode ser usado para criar novos arquivos, também podemos usá-lo para substituir arquivos existentes em uma pasta. O PowerShell irá avisá-lo se você tentar criar um arquivo enquanto um já existir com o mesmo nome.
Você pode ver no exemplo abaixo a mensagem de erro que o PowerShell exibe quando eu tento criar um arquivo chamado MyNewFile3.txt.
New-item .\MyNewFile3.txt

No entanto, se eu quiser substituir esse arquivo, posso fazer isso adicionando o parâmetro -force, que irá sobrescrever qualquer arquivo existente com o mesmo nome.
new-item .\MyNewFile3.txt -Force

Como criar uma pasta no PowerShell
Nós acabamos de passar pelas diferentes maneiras de criar arquivos no PowerShell. Agora, vamos ver como criar pastas com os comandos New-item e md.
Criar uma pasta com o comando New-item
Criar pastas com o PowerShell também é uma tarefa fácil com o mesmo cmdlet New-Item que usamos anteriormente para criar arquivos. Tudo o que precisamos é especificar o parâmetro -ItemType.
O parâmetro -ItemType controla se o cmdlet New-Item cria um arquivo, diretório (pasta), link simbólico, ponto de junção ou link rígido. Você pode encontrar mais informações sobre essas opções na página Microsoft Docs para New-Item.
Criar uma nova pasta com o PowerShell é semelhante a criar um novo arquivo. Aqui está um exemplo com o comando abaixo:
new-item TestFolder1 -ItemType Directory

Crie uma pasta com o comando md
O PowerShell agora é uma linguagem de plataforma cruzada, o que significa que pode ser executado no Windows, macOS ou Linux. O processo de criação de arquivos e pastas no Windows, Linux e macOS a partir da linha de comando é semelhante.
No entanto, cada SO tem seus próprios comandos com nomes diferentes para realizar as mesmas tarefas. Por exemplo, para criar uma nova pasta chamada NewDirectory, cada SO tem uma sintaxe semelhante com nomes de cmdlets diferentes: No DOS, a sintaxe é ‘MD NewDirectory’, mas no Linux, é ‘MKDIR NewDirectory’.
A Microsoft adotou muitos nomes populares de cmdlets de outras linguagens e os incluiu no PowerShell. Comandos como MKDIR ou MD na verdade não existem no PowerShell: em vez disso, são aliases para seus colegas do PowerShell que fazem a mesma coisa.
No PowerShell, MD é um alias para MKDIR. Além disso, MKDIR é um alias para o cmdlet New-Item. Isso significa que se você digitar MD, MKDIR ou New-Item no PowerShell, todos esses comandos têm o mesmo efeito: executar o cmdlet New-Item.
Aqui está um exemplo rápido para destacar essa funcionalidade.
md Demofile1.txt
mkdir demofile2.txt
new-item demofile 3.txt

Nos exemplos acima, você pode ver que criei três arquivos usando os vários aliases e nomes de cmdlet para New-Item. Os aliases funcionam exatamente da mesma forma que digitar New-Item.
Conclusão
O PowerShell oferece várias maneiras de criar arquivos e pastas. O cmdlet New-Item torna incrivelmente fácil a criação de arquivos e pastas.
A Microsoft incluiu aliases que se referem a comandos de sistemas operacionais populares como DOS e Linux no PowerShell para ajudar os administradores a se sentirem em casa. Também podemos usar loops para criar arquivos e pastas em escala e declarações lógicas como If para garantir que criemos apenas arquivos que ainda não existam.
Também podemos garantir que arquivos que já existem não sejam sobrescritos pelo código, a menos que queiramos substituí-los. Todas essas opções nos permitem construir scripts para automatizar o processo rotineiro de gerenciamento de arquivos e pastas.
O PowerShell é uma ferramenta muito versátil e, agora que você aprendeu a criar arquivos e pastas com ele, pode conferir nosso guia anterior sobre usando o PowerShell para excluir arquivos e pastas.
Source:
https://petri.com/powershell-how-to-create-files-folders/