Assumindo que você pode obter o powershell v2 instalado em sua máquina local (ou já tê-lo instalado), o seguinte script pode fazer o que você está procurando (pode funcionar no powershell v1, não certo):
$dupedir = "D:\Backup"
$newdir = "C:\Temp"
$dupelist = Get-ChildItem -Force -Recurse -ErrorAction SilentlyContinue $dupedir
foreach ($item in $dupelist)
{
If ($item -is [Io.DirectoryInfo])
{
$itemtype = "directory"
}
If ($item -is [Io.FileInfo])
{
$itemtype = "file"
}
New-Item -Force -type $itemtype -Path $item.FullName.Replace("$dupedir","$newdir")
}
Altere o caminho para $dupedir
para a raiz do caminho que você deseja informar ao seu amigo. Uma vez que este script termine a execução, você deve ter um espelho exato da estrutura de arquivos (mas não arquivos reais) que deseja que o seu amigo examine em C: \ Temp (ou em outro lugar se você alterar o diretório da variável $newdir
Não tenha a variável $newdir
dentro do diretório da variável $dupedir
ou você terá uma recursão infinita que pode eventualmente consumir todo o espaço em disco (mesmo que os "arquivos" sejam arquivos de 0 byte).
Uma coisa boa sobre o powershell é que você pode "escrever" scripts na linha de comando (semelhante ao bash). Copie o código em um editor de texto, faça o caminho mudar, copie e cole tudo em sua janela do powershell e ele fará sua mágica.
Eu sei que você mencionou que você tem bash, e se você quisesse isso em uma máquina unix / linux eu poderia ter feito isso no bash. Infelizmente, eu nunca fui muito bom com scripts bash quando era necessário mexer com o sistema de arquivos do windows.