Пакетный файл не может получить доступ к папке при попытке переместить - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть пакетный файл со следующим кодом, который в строке

move "%UserProfile%\Desktop\System" "%ProgramData%\Microsoft\Windows\Start Menu\Programs"

должен переместить системную папку на рабочем столе в %ProgramData%\Microsoft\Windows\Start Menu\Programs, но он говорит, что файл используется, поэтому он можетне перемещается

Код пакетного файла:

@echo off

del /q /f "C:\Users\Public\Desktop\Google Chrome.lnk"

del /q /f "%USERPROFILE%\Desktop\Microsoft Edge.lnk"

del /f /s /q /a "%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\*"

REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband /F

taskkill /f /im explorer.exe

start explorer.exe

cd "%USERPROFILE%\Desktop"

mkdir "Accessories"
mkdir "Admin Tools"
mkdir "System"

move "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Accessories\*.lnk" "%UserProfile%\Desktop\Accessories"
move "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\*.lnk" "%UserProfile%\Desktop\Accessories"
move "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Accessories\System Tools\*.lnk" "%UserProfile%\Desktop\Accessories"

move "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Accessibility\*.lnk" "%UserProfile%\Desktop\Accessories"
move "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessibility\*.lnk" "%UserProfile%\Desktop\Accessories"

move "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\*.lnk" "%UserProfile%\Desktop\System"

move "%ProgramData%\Microsoft\Windows\Start Menu\Programs\System Tools\*.lnk" "C:\Users\User\Desktop\System"
move "%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools\*.lnk" "%UserProfile%\Desktop\System"

move "%ProgramData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools\*.lnk" "%UserProfile%\Desktop\Admin Tools"

cacls "%ProgramData%\Microsoft\Windows\Start Menu\Programs" /t /e /g Administrators:f

cd "%ProgramData%\Microsoft\Windows\Start Menu\Programs"

rmdir /s /q "Accessories"
rmdir /s /q "Administrative Tools"
rmdir /s /q "Accessibility"
rmdir /s /q "System Tools"

cacls "%AppData%\Microsoft\Windows\Start Menu\Programs" /t /e /g Administrators:f

cd "%AppData%\Microsoft\Windows\Start Menu\Programs"

rmdir /s /q "Accessories"
rmdir /s /q "Administrative Tools"
rmdir /s /q "Accessibility"
rmdir /s /q "Windows PowerShell"
rmdir /s /q "System Tools"

taskkill /f /im explorer.exe

start explorer.exe

cd "%UserProfile%\Desktop\System"

ren "computer.lnk" "This PC.lnk"

move "%UserProfile%\Desktop\Accessories" "%ProgramData%\Microsoft\Windows\Start Menu\Programs"
move "%UserProfile%\Desktop\Admin Tools" "%ProgramData%\Microsoft\Windows\Start Menu\Programs"
move "%UserProfile%\Desktop\System" "%ProgramData%\Microsoft\Windows\Start Menu\Programs"

taskkill /f /im explorer.exe

start explorer.exe

pause

1 Ответ

0 голосов
/ 20 декабря 2018

CWD - это папка, которую вы пытаетесь переместить.

Это ошибочные строки

cd "%UserProfile%\Desktop\System"



move "%UserProfile%\Desktop\System" "%ProgramData%\Microsoft\Windows\Start Menu\Programs"

Вы изменили текущий рабочий каталог (CWD) на %UserProfile%\Desktop\System и затем попытался переместить этот самый каталог.

Некоторые программы могут быть достаточно умными, чтобы выяснить, что вы хотите, но cmd.exe не является одним из них.Это по своей сути блокирует CWD.(Я думаю, что он также блокирует любые другие каталоги в стеке каталогов - PUSHD / POPD.)

Сначала CD в другой каталог, прежде чем пытаться переместить %UserProfile%\Desktop\System.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...