Como transferir uma lista de arquivos para o usuário offline com o Windows XP básico?

2

Eu tenho muitos arquivos (100s de GB) e quero dar alguns deles para o meu amigo. Mas ele deve selecionar, quais arquivos ele precisa e eu não posso dar a ele todos os arquivos de uma só vez (eu não tenho nenhum flash USB ou HDD USB). Eu posso fazer uma lista de todos os arquivos e transferi-los em um pequeno flash USB para ele, e então ele pode dizer quais pastas ele quer e quais não.

Como devo fazer a lista de arquivos, que podem ser facilmente visualizados na instalação padrão do windows xp ou com algum programa parecido com o WindowsExplorer? Eu posso fazer uma listagem parecida com ls -lR e armazená-la em txt, mas será difícil para meu amigo ver essa lista. Há um plug-in diskdir do Total Commander, que pode arquivar a pasta em um arquivo de texto com apenas nomes e caminhos de arquivos armazenados. Então este plugin permite que o comandante total se mova dentro deste arquivo como dentro do zip ou do arj. Mas eu acho que comandante total é difícil de usar para meu amigo, então estou perguntando sobre a solução do Windows Explorer (por exemplo, o winzip permite que o Explorer se mova dentro de arquivos zip e eu quero algo como).

Eu posso instalar qualquer programa, também posso armazenar o programa visualizador com lista de arquivos em flash USB.

    
por osgx 27.07.2011 / 01:40

4 respostas

1

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.

    
por 27.07.2011 / 23:24
2

Use apenas o comando dir /s > C:\temp\filename.txt . Isso gerará a estrutura do diretório no arquivo C: \ temp \ filename.txt. Comece no local que você quer descer.

Em seguida, basta enviar o arquivo TXT para ele.

    
por 27.07.2011 / 02:37
0

Por que não usar um arquivo zip? Você pode visualizar todos os arquivos em uma janela e, ainda assim, extraí-los para pastas diferentes.

    
por 27.07.2011 / 02:00
0

Pensei nessa pergunta agora e me deparei com duas soluções. O melhor deles é o seguinte.

Use o cdcat que é um programa que pode indexar árvores do sistema de arquivos como DVDs ou discos rígidos (sem armazenar grandes arquivos para o índice) e armazenar vários deles em um catálogo. Este é provavelmente o programa escolhido para tal tarefa, pois incluirá meta-informação de música (tags ID3) e vídeos (resolução, duração e assim por diante) no catálogo. Outro recurso interessante é que o cdcat pode calcular o tamanho de um diretório indexado ou um arquivo (nó).

Ele salvará todas as meta-informações (e pequenos arquivos, como nfo, se você configurá-lo para fazer isso) em um arquivo XML compactado. Copiar arquivos de você (pessoa A) para alguém (pessoa B), depois de permitir que ele (B) selecione o que ele realmente quer, pode funcionar assim:

  1. A pessoa A indexa todos os seus arquivos interessantes (você deve verificar as configurações do cdcat antes de fazer isso para ter certeza de que será incluído como nfo, tags ID3,…) e os salva como um catálogo.
  2. A pessoa A copia o catálogo para a pessoa B.
  3. Agora a pessoa B tem que selecionar os arquivos de alguma forma. Eu tive a ideia de usar o campo de categoria que pode ser adicionado a cada nó (diretório ou arquivo). Este campo pode ser usado como prioridade, por exemplo. Qualquer nó que não tenha nenhuma categoria recursivamente anexada a ele ou com uma categoria especial não será copiado posteriormente. A categoria também é salva no arquivo XML e não é muito difícil escrever um analisador para isso, por exemplo, um script .bat ou um script Bash para copiar todos os arquivos desejados.
  4. A pessoa B fornece o script de cópia específico do sistema operacional para a pessoa A (ou, é claro, a pessoa B retorna o catálogo modificado e permite que a pessoa A gere o script de cópia).
  5. A pessoa A executa o script de cópia e fornece à pessoa B o meio de dados. (Haverá um pequeno inconveniente porque o cdcat não salva o caminho para o ponto de montagem de onde os dados foram indexados para o catálogo.)
  6. A pessoa B copia os arquivos para seu armazenamento e entrega o suporte de dados de volta à pessoa A.

Esta solução ainda não é perfeita, mas é a melhor que eu criei. Eu não usei isso ainda, mas farei isso no futuro. Durante isso, precisarei escrever alguma extensão ou script que gere scripts de cópia para Linux e para Windows. Meu plano é incluir isso diretamente no programa cdcat.

Uma segunda e mais sofisticada solução que vale a pena ser usada é usar o git-annex que provavelmente também pode ser usado para isso , mas eu não pensei sobre isso tão cuidadoso quanto sobre a solução com o cdcat porque essa segunda abordagem exigiria de alguma forma que ambas as pessoas (A e B) tivessem git-annex e soubessem como usá-lo…

Vou mantê-lo atualizado.

    
por 16.02.2014 / 19:08