Acho que gostaria de gerar novamente um diretório de arquivos de texto / falso em um pendrive com os nomes exatos dos arquivos que existem em um diretório mestre.
O diretório master está em uma unidade terabyte e é muito grande para caber em qualquer pendrive. Mas, quando eu estou usando o pendrive, eu gostaria de colidir nomes de arquivos quando estou baixando uma duplicata de outros lugares. ie: eu tento baixar algo e ele diz: "Você já tem um arquivo chamado ..."
Eu não me importo de executar esse script (desde que seja relativamente rápido) manualmente, quando eu atualizar o diretório mestre com novos arquivos adicionais e mover manualmente a estrutura de arquivos de arquivos falsos para o pendrive.
Eu tenho pelo menos 3 níveis de estrutura de diretórios. Eu coloquei uma estrutura de diretório de teste simples com arquivos txt, contra a estrutura real (principalmente) pdf real. Quando eu saio tree /a /f . > list.txt
,:
Folder PATH listing for volume Windows
Volume serial number is 00C7-D795
C:\USERS\USER\DESKTOP\TEST
| list.txt
| script.bat
| script.txt
|
\---Top_Lvl
| file-2nd-1.txt
| file-2nd-2.txt
| file-2nd-3.txt
|
+---2nd_Level-1
| file-3rd-1.txt
| file-3rd-2.txt
| file-3rd-3.txt
|
+---2nd_Level-2
| | file-3rd-4.txt
| | file-3rd-5.txt
| | file-3rd-6.txt
| |
| \---3rd_Level-1
| file-4th-1.txt
| file-4th-2.txt
|
\---2nd_Level-3
file-3rd-7.txt
Eu não sei escrever um cabeçalho para que um leitor de pdf exiba um arquivo com extensão .pdf (mas na verdade é um arquivo de texto) - o que seria um bônus realmente incrível. E eu não consigo encontrar um comando (attrib não funciona, tanto quanto eu posso dizer) que irá produzir o tamanho do arquivo na saída de texto. Como seria legal ter o tamanho do arquivo real disponível clicando no arquivo falso, sem ter que procurar nada em outro lugar.
Soluções parciais potenciais?
Eu encontrei isto:
Windows / Criar arquivos txt de subpastas com nomes de arquivo
Mas parece fazer uma bagunça e só faz um nível de diretórios.
E quando eu o reescrevi / modifiquei, funcionou uma vez e depois parou de funcionar:
@echo off
for /dd %%D in (*) do (
cd %%~nxD
tree /a /f > ..\%%~nxD.txt
cd ..
echo %%~nxD > dir_info.tmp
for /f "skip=3 delims=*" %%a in (%%~nxD.txt) do (
echo.%%a >> dir_info.tmp
)
copy /y dir_info.tmp %%~nxD.pdf
del /f /q dir_info.tmp
)
Ele despeja os resultados no diretório em que é executado, em vez de soltá-lo na área de trabalho (e não consigo descobrir como soltá-lo em uma área de trabalho padrão - em vez de codificá-lo, se eu usar mais de um computador / conta para acessar a unidade de diretório mestre). E eu não tenho certeza se você pode especificar o stick usb, pois isso provavelmente muda o tempo todo, dependendo do que estiver plugado.
Além disso, muitas vezes estou usando sistemas Windows antigos, e é por isso que eu estava pesquisando um arquivo em lote. Se há um aplicativo que faz isso, eu definitivamente considero isso - em vez de recortar a roda.
@eris sugeriu Robocopy e há algo chamado RichCopy:
link
Mas esses aplicativos fariam duplicatas reais do diretório mestre - e eu não tenho muito espaço de armazenamento extra, na unidade mestre (e, como dito anteriormente: em o stick usb de trabalho).
Parece que eu não estava claro o suficiente; Eu estou tentando fazer um diretório de sombra, que tem todos os nomes de arquivos (e otimamente informações sobre o arquivo real, como tamanho), incluindo extensões - mas no espaço mínimo; Eu estou supondo que vai ser um megabyte ou 3 no consumo de espaço real (como cada arquivo e diretório usa ~ block) vs. 100s de shows (por exemplo: arquivo de 50MB, arquivo de 1MB, arquivo de 832k, arquivo de 10MB, arquivo de 15MB).
Parece que o robocopy é o que eu quero, se conseguir que a linha de comando funcione corretamente:
ROBOCOPY Top_Lvl Shadow /CREATE
Não faz subdiretórios.