addon de transferência de arquivos em lote

0

Eu fiz um arquivo em lote que me permite mover arquivos para um disco rígido para o próximo disco rígido. Há apenas uma coisa que gostaria de acrescentar. Eu quero que o CMD me avise para qual conta de usuário está indo.

Exemplo: xcopy / s / z D: \ "Documentos e configurações" \% username% \ Desktop C: \ Usuários \ USER \ Desktop

Onde se diz "USER" precisa adicionar a conta de usuário para qual está indo. Exemplo. xcopy / s / z D: \ "Documentos e configurações" \% username% \ Desktop C: \ Usuários \ Dang \ Desktop

Então, o que estou procurando é quando eu inicio o arquivo .Bat, ele me perguntará para que "conta de usuário" você gostaria de transferir os dados? Do que eu seria capaz de adicionar o nome que eu quero lá.

    
por Daniel 12.12.2012 / 18:36

2 respostas

4

Você pode solicitar que o usuário insira uma string com o / p-flag no comando set, por exemplo:

set /p targetuser="Enter target username: "
xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%targetuser%\Desktop"

Para uso em scripts, geralmente é vantajoso evitar a interrupção da entrada do usuário. A seguinte linha usaria o primeiro parâmetro fornecido ao seu arquivo de lote e executaria sem interrupções:

xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%~1\Desktop"
    
por 12.12.2012 / 18:53
2

A maneira mais fácil de fazer isso é com um parâmetro de linha de comando:

xcopy /s/z D:\"Documents and Settings"\%username%\Desktop C:\Users\%1\Desktop

Em seguida, execute o script da seguinte forma:

C:>sciptname.bat username
    
por 12.12.2012 / 18:40

Tags