在批处理文件中使用列表

在批处理文件中使用列表

我需要将文件(如果存在)复制到目标列表。目标包含%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)

相关内容