请温文点。来自一个极端新手的第一篇文章。我甚至不知道这是不是合适的地方
我设法创建了一些批处理文件、脚本和lisps,它们可以工作,但被硬编码到我的C:盘上的特定文件夹中。我希望能够将.bat/.scr/.lsp复制到网络项目文件夹,并在添加到该特定文件夹的任何文件上运行它们。我们在共享文件之前对文件进行批量处理。下面是当前的.bat,仅当我将要处理的文件复制到我的C:\BATCHING文件夹中时才有效。我不知道在哪里或者如何添加%cd%或%~dp0修饰符。
@ECHO OFF
CLS
ECHO 1. AutoCAD C3D 2015
ECHO 2. AutoCAD Map 2017
ECHO.
CHOICE /C 12 /M "Enter your Choice:"
:: Note - list ERRORLEVELS in decreasing order
IF ERRORLEVEL 2 GOTO c3d2017
IF ERRORLEVEL 1 GOTO c3d2015
:c3d2015
FOR %%V IN (C:\BATCHING\*.dwg) DO start "T" /w "C:\Program Files\Autodesk\AutoCAD 2015\acad.exe" "%%V" /b "C:\BATCHING\insert E-FILE DISCLAIMER layout.scr"
GOTO End
:c3d2017
FOR %%V IN (C:\BATCHING\*.dwg) DO start "T" /w "C:\Program Files\Autodesk\AutoCAD 2017\acad.exe" "%%V" /b "C:\BATCHING\insert E-FILE DISCLAIMER layout.scr"
GOTO End
:End谢谢你的帮助!
发布于 2017-07-14 04:01:04
我相信你想要的(只是展示修改):
:c3d2015
FOR %%V IN (%~dp0*.dwg) DO start "T" /w "C:\Program Files\Autodesk\AutoCAD 2015\acad.exe" "%%~fV" /b "%%~dpVinsert E-FILE DISCLAIMER layout.scr"
GOTO End
:c3d2017
FOR %%V IN (%~dp0*.dwg) DO start "T" /w "C:\Program Files\Autodesk\AutoCAD 2017\acad.exe" "%%~fV" /b "%%~dpVinsert E-FILE DISCLAIMER layout.scr"
GOTO End发布于 2017-07-14 06:55:21
谢谢@paul。这让我找到了正确的方向。我可以稍微修改一下,让它正常工作。这是最终的格式:
:c3d2017
FOR %%V IN (*.dwg) DO start "T" /w "C:\Program Files\Autodesk\AutoCAD 2017\acad.exe" "%%~fV" /b "%%~dpVinsert E-FILE DISCLAIMER layout.scr"
GOTO End发布于 2017-07-14 08:30:43
您可以减少代码量,同时仍然使用报告的执行字符串。
@ECHO OFF
SET "VAR=5"
CLS
ECHO 1. AutoCAD C3D 2015
ECHO 2. AutoCAD Map 2017
ECHO.
CHOICE /C 12 /M "Enter your Choice:"
IF ERRORLEVEL 2 SET "VAR=7"
FOR %%A IN (*.dwg) DO START "" /W "%ProgramFiles%\Autodesk\AutoCAD 201%VAR%\acad.exe" "%%~fA" /b "%%~dpAinsert E-FILE DISCLAIMER layout.scr"https://stackoverflow.com/questions/45088491
复制相似问题