运行 Autocad exe和加载脚本文件错误

Run Autocad exe and load script file error

这是我第一次 post 在这里 我需要你的帮助 我已经为 运行 autocad exe 创建了一个批处理文件并加载了一个脚本文件但是当我 运行 批处理文件

时出错
    @echo off

set KEY_NAME=HKCU\Software\Laxman Enterprises\Xpresslisp Tools
set VALUE_NAME=installpath
set FN=loadload
set FE=scr

FOR /F "tokens=2*" %%A IN ('REG.exe query "%KEY_NAME%" /v "%VALUE_NAME%"') DO (set pInstallDir=%%B)
set approot=%pInstallDir:~0,-1%
echo %approot%\%FN%.%FE%
"C:\Program Files (x86)\AutoCAD 2002\acad.exe"  /b  %approot%\%FN%.%FE%
pause

错误:当 运行ning 批处理文件 autocad 打开时,在命令行中脚本文件未加载 "Xpresslisp.scr":找不到文件。”

下面的一个正在工作 脚本文件加载没有出错

@echo off
set path=%USERPROFILE%
set fol=Documents
set NAME=1
set SUFFIX=scr
"C:\Program Files (x86)\AutoCAD 2002\acad.exe"  /b  %path%\%fol%\%NAME%.%SUFFIX%
pause

检查 %path%\%fol%\%NAME%.%SUFFIX% returns "Xpresslisp.scr" 文件的完整路径!

如果是,请检查完整路径并查看它是否包含任何空格。

如果是,请用撇号

%path%\%fol%\%NAME%.%SUFFIX% 括起来
"%path%\%fol%\%NAME%.%SUFFIX%"

它可能就像盲目删除 installpath 的最后一个字符一样简单,但不确定它是什么,(双引号或反斜杠?)

由于在 Xpresslisp Tools 树中不太可能存在任何文件名的多个副本,因此我建议如下:

@Echo Off

Set "KEY_NAME=HKCU\Software\Laxman Enterprises\Xpresslisp Tools"
Set "VALUE_NAME=installpath"
Set "FN=loadload"
Set "FE=scr"

(Echo=FILEDIA 0
Echo=(LOAD "C:\loadmyfile.lsp"^)
Echo=FILEDIA 1)>%FN%.%FE%

For /F "Tokens=2*" %%A In ('Reg Query "%KEY_NAME%" /v "%VALUE_NAME%"') Do (
    For /F "Delims=" %%C In ('Dir/B/S/A-D "%%~B"\"%FN%.%FE%" 2^>Nul') Do (
        Start "" "%ProgramFiles(x86)%\AutoCAD 2002\acad.exe" /b  "%%~C"))

这不关心尾部是否有反斜杠,并且只会 运行 如果文件存在,AutoCAD 命令。

关于评论中的第二个问题...

Bellow 命令将创建文本文件并将第一行写入其中,例如"some text" 就像下面的命令一样。

Echo some text > full_path_to_txt_file

下面的命令会将新文本附加到同一文件。

Echo some text >> full_path_to_txt_file

'>' char 创建文件并写入第一行 '>>' 字符追加文本