示例:
我将有以下内容:
文件夹包含:
- 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替换为位于bat命令的同一文件夹中的另一个版本的gravity.pdf:
@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
但是出现错误“命令的语法不正确”。
我想了解代码,canot得到%_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