Пример :
У меня будет следующее:
Папка, которая содержит:
- CMD или BAT файл
- файл / файлы, которые необходимо скопировать (например, file1.exe и file2.exe)
.Lnk, расположенный на рабочем столе (например: C:\Users\Home\Desktop\Example.lnk), который является ярлыком для (EX: D:\folder\Example.pdf)
Мне нужен файл CMD/BAT, чтобы скопировать file1.exe и file2.exe из их текущего относительного местоположения и вставить или вставить / заменить их в целевое местоположение .lnk после прочтения, которое является D:\folder\
редактировать
Я попробовал следующее, чтобы заменить gravity.pdf другой версией gravity.pdf, расположенной в той же папке команды bat:
@echo off
setlocal
rem get the .lnk target directory
for /f "tokens=* usebackq" %%i in (`type "C:\Users\Abdo\Desktop\Gravity.lnk ^| find "\" ^| findstr/b "[a-z][:][\\]"`) do (
set _targetdir=%%~dpi
)
rem copy the files
copy /y Gravity.pdf %_target%
endlocal
но появляется ошибка «синтаксис команды неверен».
Я пытаюсь понять код, не могу понять, как% _target% будет ссылаться на целевой полный путь gravity.lnk, который в моем случае сейчас D:\Books\
Редактировать 2
Я удалил некоторые вставленные строки из кода, и теперь открывается пустое черное окно cmd, но ничего не меняется:
код:
@echo off
setlocal
rem get the .lnk target directory
for /f "tokens=* usebackq" %%i in (`type "C:\Users\Abdo\Desktop\Gravity.lnk ^| find "\" ^| findstr/b "[a-z][:][\\]"`) do (set _targetdir=%%~dpi)
rem copy the files
copy /y Gravity.pdf %_target%
endlocal