Пакетный скрипт, предназначенный для копирования другого пакетного скрипта в папки документов пользователя в Windows, имел нежелательный эффект создания папки размером ~1 ГБ в папке документов одного пользователя, когда он запустил его с правами администратора. Просмотрев скрипт, я все еще не уверен, что вызвало такое поведение.
Это источник, называемый 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
Он находится в папке, содержащей три других файла - 'test1.bat', 'input.txt' и 'test1 - Shortcut.lnk'. Вся папка имеет размер всего 16 КБ.
Я уверен, что я упускаю что-то очевидное. Что именно?
решение1
Строка copy *.* "%userprofile%\Documents\test1\" /Y
делает пакетное копирование данных не из каталога, в котором она находитсяхранится в, но из каталогаэто называется от. Вставьте cd /d %~dp0%
после первой строки, чтобы сделать последний каталог первым.