在当前目录中执行批处理文件的快捷方式

Execute a shortcut to a batch file in current directory

我有一个文件夹 A,里面有 eps 文件。在文件夹 A 中有一个批处理文件的快捷方式,它位于文件夹 B 中。

批处理文件包含应转换 *.eps 文件的行:

@ECHO OFF
for /f "delims=" %%a in ('where.exe /F epstopdf') do @set progpath=%%a
PUSHD %~dp0
for %%A in (*.eps) do %progpath% %%A
POPD

当我执行文件夹A中的快捷方式时,没有任何反应。如果我将 *.eps 文件从文件夹 A 复制到 B 并执行快捷方式,则 eps 文件将在文件夹 B 中转换。

如何实现文件实际在文件夹A中执行,文件夹A中的*.eps文件在路径A中转换?

在 Linux 中,使用 ln -sf 的符号快捷方式在快捷方式所在的目录中工作。 Windows 似乎表现不同。

Windows 中的快捷方式不是符号 link。从 Microsoft 下载实用程序 Junction。它非常模仿 Linux 中的符号 link。使用起来非常简单。只需在命令提示符下键入 Junction /?

您还可以使用 mklink 命令,它是 Windows OS 的一部分。只需在命令提示符下键入 mklink /?