Сравните свой вывод на консоль с тем, что приведен под спойлером:
echo F | xcopy /C /R /O /Y C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack-onecore_31bf3856ad364e35_10.0.14291.1001_none_b11fef854a76db2a\wrpint.dll C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.14291.1001_none_7c2e5a73f273bd94\wrpint.dll Does C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.14291.1001_none_7c2e5a73f273bd94\wrpint.dll specify a file name or directory name on the target (F = file, D = directory)? F C:\WINDOWS\WinSxS\amd64_microsoft-windows-servicingstack-onecore_31bf3856ad364e35_10.0.14291.1001_none_b11fef854a76db2a\wrpint.dll 1 File(s) copied
@echo on cls setlocal set c1=C:\Windows\WinSxS\amd64_microsoft-windows-servicingstack set c2=31bf3856ad364e35_10.0.14279.1000_none set from=%c1%-onecore_%c2%_5a92ee0dd788e433 set to=%c1%_%c2%_25a158fc7f85c69d
Удар под дых: выдает ошибку при парсинге совершенно синтаксически правильной строки for /f "delims=" %%A in ('dir /ad /b %root%-onecore*') do set "from=%SystemRoot%\WinSxS\%%A" Попробуйте стереть пробел[ы] после последнего символа ", хотя сомнительно. Посмотрю глобальные установки для бэтч-файлов, возможно у Вас там что-то сбилось.
Попробуйте стереть пробел[ы] после последнего символа
sysprg, совершенно верно. Вам не надо было упоминать про то что копировать можно с пробелами. При убранных пробелах в конце каждой строки ваш новый батник замечательно отрабатывает. Я с "имитировал" выполнение для обеих разрядностей. Результат выполнения:
В связи с введением в действие Постановления Правительства Российской Федерации от 14.11.2023 № 1905 т.н. "о запрете популяризации VPN" с 1 марта 2024 года - любое обсуждение способов обхода блокировок и VPN на портале запрещено!