Um script em lote projetado para copiar outro script em lote para as pastas Documentos dos usuários no Windows teve o efeito indesejado de criar uma pasta de aproximadamente 1 GB na pasta Documentos de um usuário quando ele a executou com privilégios de administrador. Depois de revisar o script, ainda não tenho certeza do que causou esse comportamento.
Esta é a fonte, chamada test1_install:
@echo off
mkdir %userprofile%\Documents\test1
copy *.* "%userprofile%\Documents\test1\" /Y
copy "test1 - Shortcut.lnk" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" /Y
Ele é colocado em uma pasta que contém três outros arquivos - 'test1.bat', 'input.txt' e 'test1 - Shortcut.lnk'. A pasta inteira tem apenas 16 KB.
Tenho certeza de que devo estar perdendo algo óbvio. O que é?
Responder1
A linha copy *.* "%userprofile%\Documents\test1\" /Y
faz com que os dados da cópia em lote não sejam do diretórioestá armazenado em, mas do diretórioé chamado de. Insira cd /d %~dp0%
após a primeira linha, para que o último diretório seja o primeiro.