Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024

ProgramaçãoLinguagens de programação
Código
ce185094
Banca
CESPE / CEBRASPE
Órgão
SEBRAE-NACIONAL
Ano
2024
Nível
Superior
Cargo
Analista Técnico II – Banco de Dados

Imagem associada para resolução da questão



Após a execução desse script PowerShell, será exibida a contagem do número de arquivos . Imagem associada para resolução da questão no diretório

  1. AImagem associada para resolução da questão e nos que estiverem em até dois níveis de subdiretórios.
  2. BImagem associada para resolução da questão e nos que estiverem em até um nível de subdiretório.
  3. CImagem associada para resolução da questão apenas.
  4. DImagem associada para resolução da questão e em todos os subdiretórios.
Revelar gabarito e comentário

GabaritoA — [imagem] e nos que estiverem em até dois níveis de subdiretórios.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

PowerShell: cmdlet Get-ChildItem e o parâmetro -Depth

Gabarito: letra A. O script PowerShell utiliza o cmdlet Get-ChildItem com o parâmetro -Depth 2, que faz a contagem de arquivos no diretório atual e nos que estiverem em até dois níveis de subdiretórios. O parâmetro -Depth especifica quantos níveis de subdiretórios abaixo do diretório atual devem ser incluídos na recursão, e o valor 2 indica exatamente dois níveis.

O cmdlet Get-ChildItem é o comando fundamental do PowerShell para listar arquivos e diretórios. Ele é extremamente versátil, com diversos parâmetros que controlam o que é listado e como a busca é feita. O parâmetro -Recurse faz a busca em todos os subdiretórios de forma recursiva, sem limite de profundidade. Já o parâmetro -Depth limita essa recursão a um número específico de níveis. É importante entender que -Depth só tem efeito quando usado em conjunto com -Recurse; sozinho, ele não produz recursão alguma.

Na prática, se o diretório atual contém arquivos e subdiretórios, o comando Get-ChildItem -Recurse -Depth 2 listará:

  1. Os arquivos diretamente no diretório atual (nível 0).

  2. Os arquivos nos subdiretórios de primeiro nível (nível 1).

  3. Os arquivos nos subdiretórios de segundo nível (nível 2).

O valor de -Depth conta os níveis de subdiretórios a partir do diretório atual. Assim, -Depth 2 inclui o diretório atual e mais dois níveis abaixo. A alternativa A reflete exatamente esse comportamento: "no diretório atual e nos que estiverem em até dois níveis de subdiretórios".

A pegadinha desta questão está na interpretação do parâmetro -Depth. Muitos candidatos confundem o valor do parâmetro com o número total de níveis incluídos, pensando que -Depth 2 incluiria apenas dois níveis (o atual e mais um), quando na verdade inclui o atual e mais dois. Outros podem confundir com o comportamento do -Recurse sem -Depth, que incluiria todos os subdiretórios sem limite.

Guarde a distinção central: -Recurse sozinho = todos os subdiretórios; -Recurse -Depth N = o diretório atual + N níveis de subdiretórios. É exatamente nessa fronteira que as alternativas se dividem.

  1. 1Diretório atual (nível 0)
  2. 2Subdiretórios nível 1
  3. 3Subdiretórios nível 2
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

O comando Get-ChildItem -Recurse -Depth 2 conta os arquivos no diretório atual e nos subdiretórios até o segundo nível. O parâmetro -Depth especifica o número de níveis de subdiretórios a serem percorridos, e o valor 2 inclui o diretório atual (nível 0) e mais dois níveis abaixo (níveis 1 e 2). Esta é a interpretação correta do comportamento do cmdlet.

Alternativa B — ❌ Incorreta

Afirma que a contagem inclui apenas até um nível de subdiretório. Isso corresponderia a -Depth 1, não a -Depth 2. O valor do parâmetro -Depth é o número de níveis de subdiretórios adicionais, não o número total de níveis incluídos. A alternativa confunde o valor do parâmetro com a profundidade total.

Alternativa C — ❌ Incorreta

Afirma que a contagem inclui apenas o diretório atual. Isso seria o comportamento sem o parâmetro -Recurse, ou com -Depth 0. Como o script usa -Recurse -Depth 2, a busca é recursiva e inclui subdiretórios, não apenas o diretório atual.

Alternativa D — ❌ Incorreta

Afirma que a contagem inclui todos os subdiretórios. Isso seria o comportamento do parâmetro -Recurse sem o -Depth, que percorre recursivamente todos os níveis de subdiretórios. A presença do -Depth 2 limita a recursão a apenas dois níveis, portanto a alternativa descreve um comportamento diferente do que o script executa.

NÃO CAIA NESSA!

A banca explora a confusão entre o valor do parâmetro -Depth e o número total de níveis incluídos. -Depth 2 inclui o diretório atual e mais dois níveis de subdiretórios, não apenas dois níveis no total. Outra armadilha é confundir com o -Recurse sem -Depth, que incluiria todos os subdiretórios. Com treino, você enxerga essas trocas de longe 💪

Gabarito: letra A

Link permanente: /questoes/ce185094