Пакетный сценарий, предназначенный для копирования другого пакетного сценария в пользовательские папки «Документы» в 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 ответ1

1

Строка copy *.* "%userprofile%\Documents\test1\" /Y создает данные пакетного копирования не из каталога, в котором они хранятся, а из каталога, из которого они вызваны. Вставьте cd /d %~dp0% после первой строки, чтобы последний каталог был первым.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .