运行 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 创建文件并写入第一行
'>>' 字符追加文本
这是我第一次 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 创建文件并写入第一行 '>>' 字符追加文本