我需要将文件(如果存在)复制到目标列表。目标包含%variables%
。当我运行时,它似乎使用%appdata%
数组列表中所述的而不是c:\Users\NAME\Appdata\roaming\
我怎样才能让它使用数组列表中的变量?
和.lnk
与脚本Shortcut_Locations.txt
位于同一文件夹中。
@echo off
pushd "%~dp0"
set source_file=App1.lnk
set destination_list=Shortcut_Locations.txt
for /f "tokens=*" %%I in (%destination_list%) do (
if exist "%%I" (
copy /Y "%source_file%" "%%I"
)
)
POPD
Shortcut_Locations.txt
内容:
\\\server1\data\\%username%\Desktop\\
%appdata%\OpenShell\Pinned\\
%appdata%\OpenShell\Pinned\GGHC\\
答案1
最后只是修改了 FOR。这比使用列表更有效。仍然不确定为什么列表内的 %appdata% 不起作用。
for %%I in (\\Server1\data\%username%\Desktop,
%appdata%\OpenShell\Pinned,
%appdata%\OpenShell\Pinned\GGHC)