Comando do Windows para encontrar o nome da pasta com caracteres específicos e selecioná-lo

1

Estou tentando gravar um arquivo em lotes para copiar o conteúdo de uma pasta com o caminho C:\ABC para outra pasta cujo nome exato é desconhecido (é uma pasta de dados do perfil do Firefox)

Perfis do Firefox são criados na pasta %APPDATA%\Mozilla\Firefox\Profiles\ & nomeado aleatoriamente na criação pelo Firefox

com os primeiros oito caracteres seguidos por "." & então o nome do perfil que definimos

Por exemplo: tx1e6sq7.ABC ou 3dnwu536.XYZ

Eu preciso descobrir qual é o nome completo da pasta com o nome do perfil terminando com ABC, para que eu possa copiar o conteúdo para ele

P.S. Eu também preciso excluir o conteúdo atual daquele perfil terminando com ABC, antes de copiar novos conteúdos. Deixe-me saber o comando para isso, se possível

    
por SuperUserMan 22.07.2014 / 14:17

2 respostas

3

Depois de mais pesquisas, resolvi o problema usando os seguintes comandos:

set parentfolder=%APPDATA%\Mozilla\Firefox\Profiles\
for /f "tokens=*" %%a in ('"dir /b "%parentfolder%"|findstr ".*\.ABC""') do set folder=%%a

Para excluir o conteúdo, usei:

RMDIR "%APPDATA%\Mozilla\Firefox\Profiles\%folder%" /s /q
mkdir "%APPDATA%\Mozilla\Firefox\Profiles\%folder%"
    
por 22.07.2014 / 15:48
0

Remova o conteúdo da pasta seguindo este link .

Copie os dados com este comando:% xcopy "C:\ABC\*" "%APPDATA%\Mozilla\Firefox\Profiles\*.*" /i /h /s
/ i diz que é uma pasta / h copia arquivos ocultos
/ s copia subpastas

No entanto, isso pressupõe que haja apenas uma pasta de perfil no diretório. Se houver várias pastas de perfil e você souber parte do nome do perfil para o qual deseja copiar arquivos, você poderá alterar *.* com (por exemplo) *.ABC .

    
por 22.07.2014 / 14:41