我有一个包含几个宏的Excel文件,有些调用SolidWorks,有些调用PDM,有些调用acrobat。几个不同的用户将使用此电子表格,由于不同的原因,一些用户将不使用SolidWorks,有些用户将没有Acrobat,这将导致某些计算机中缺少库引用,如果缺少任何引用,则不会运行任何宏。我寻找一个简单的解决方案,比如不要运行缺少的库宏,但是找不到它。我的第二个想法是把图书馆加到金库里,所有的东西都可以从那里运行,不可能。也许我只要把参考文件拷贝到每台计算机上就行了,即使没有杂技,只要创建包含*.tlb的文件夹路径就可以了,现在的问题是如何用所有计算机中的所有引用文件创建所有这些文件夹结构。批处理文件。正如我在网上可以找到的例子,这应该是有效的,但它不是,我不知道为什么,甚至使用一些蝙蝠测试工具,大家都说是好的。是某种网络配置吗?特权问题?这是代码的一部分。其余的只是重复Solidworks和PDM文件。
@ECHO OFF
IF EXIST "C:\Program Files (x86)\Adobe\" (
) ELSE (
mkdir "C:\Program Files (x86)\Adobe")
IF EXIST "C:\Program Files (x86)\Adobe\Acrobat 11.0\" (
)ELSE(
mkdir "C:\Program Files (x86)\Adobe\Acrobat 11.0")
IF EXIST "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\" (
)ELSE(
mkdir "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat")
IF EXIST "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\acrobat.tlb"(
)ELSE()
xcopy "\\eng\Lib\acrobat.tlb" "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\"
ECHO "dONE!"我正在尝试检查文件夹结构是否存在,如果没有像excel引用中那样创建文件夹结构并复制文件,它就是不能工作。我该怎么做呢?有更好的办法吗?
发布于 2020-09-12 06:15:47
首先,我们应该运行具有管理员权限的脚本。
然后,我使用用于循环处理每个文件夹。
试试下面的代码:
@Echo off
net session >nul 2>&1 && goto :admintasks
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%~nx0', '', '', 'runas', 1);close();"
exit /b
:admintasks
SETLOCAL EnableDelayedExpansion
cd /d "%~dp0"
Set "a=%ProgramFiles(x86)%\Adobe"
Set "b=%ProgramFiles(x86)%\Adobe\Acrobat 11.0"
Set "c=%ProgramFiles(x86)%\Adobe\Acrobat 11.0\Acrobat"
Set "d=%ProgramFiles(x86)%\Adobe\Acrobat 11.0\Acrobat\acrobat.tlb"
FOR %%A IN ("!a!" "!b!" "!c!") DO (
if Not exist %%A mkdir %%A
)
IF Not EXIST "%d%" xcopy "\\eng\Lib\acrobat.tlb" "C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\"
ECHO "Done!"要了解使用的命令及其工作方式,请打开cmd窗口,在那里执行以下命令。
for /?goto /?if /?set /?setlocal /?cd /?https://stackoverflow.com/questions/63855456
复制相似问题