Preguntas frecuentes: ¿Cómo puedo volver a guardar un proyecto o una carpeta de archivos de dibujo en la versión actual?

Utilice un archivo por lotes para guardar de nuevo un proyecto o un directorio de archivos de dibujo de una versión anterior en la versión actual.

Puede automatizar la operación de volver a guardar los archivos de dibujo guardados en versiones anteriores del AutoCAD Architecture 2022 toolset en la versión actual mediante un archivo por lotes.

Al ejecutar el archivo por lotes, se realiza una copia completa del proyecto o la carpeta que contiene los dibujos de la versión anterior. A continuación, se buscan de forma recurrente todos los archivos DWG, DWT y DWS incluidos en esta ubicación, y se genera un archivo de comandos.

Al ejecutar el archivo de comandos, se abre, guarda y cierra cada uno de los archivos DWG y DWT copiados. De esta forma, todos los archivos DWG y DWT se vuelven a guardar en la versión actual.

La secuencia de comandos muestra las rutas a los archivos DWS; debe abrir manualmente estos archivos y guardarlos en la versión actual.

Importante: Asegúrese de crear una copia de seguridad de todos los archivos antes de ejecutar los archivos de comandos y por lotes. Si ha copiado un proyecto en una ubicación nueva, cambie la ruta del proyecto a la versión original del AutoCAD Architecture 2022 toolset antes de ejecutar el archivo por lotes.

Para importar archivos en la versión actual mediante un archivo por lotes

    Importante: Asegúrese de seguir los pasos con precisión.
  1. Inicie el Bloc de notas de Microsoft®.
  2. Copie el texto (archivo por lotes) que aparece entre las dos líneas discontinuas y péguelo en el Bloc de notas.
  3. Guarde el archivo con el nombre promote.bat y cierre el Bloc de notas.
  4. En la solicitud de comando de Windows®, ejecute el archivo promote.bat con la sintaxis siguiente:
    promote.bat [projectName] [projectLocation] [scriptName] [promotionTarget] 
    Replace [projectName] with the name of the original folder containing the drawings to be imported to the current version. 
    Replace [projectLocation] with the path to the original folder entered as [projectName]. 
    Replace [scriptName] with the name of the script that will be generated. The root of the file name can be customized but the file extension must always be .scr. 
    Replace [promotionTarget] with a path and folder name of the location where the imported drawings must be copied.
    Nota: Los argumentos que contienen espacios deben ir entre comillas. Por ejemplo, si tiene dibujos guardados de versiones anteriores almacenados en la carpeta R:\CAD_Files\Projects\2010\Hospital y desea que los archivos que se han guardado de nuevo se vuelvan a crear en la carpeta R:\CAD_Files\Projects\2014\Hospital, utilice la siguiente sintaxis:
    promote.bat Hospital R:\CAD_Files\Projects\2010\ promote.scr R:\CAD_Files\Projects\2014
  5. Al finalizar, se generará un archivo de comandos con el nombre que ha especificado en la misma carpeta que el archivo promote.bat. Ejecute este archivo de comandos para volver a guardar automáticamente en la versión actual todos los dibujos copiados que residan en la ubicación [promotionTarget].

Archivo por lotes

--------------------------------------------------------------------------------------------
@echo off
SETLOCAL
@rem promote.bat
@rem This script promotes a project to the current DWG format.
:Greeting
echo.
echo This script promotes a project to the current DWG format.
echo For best results, please run this script using administrator privileges in Windows.
echo.
PAUSE
:checkCmdArgs
if [%4] EQU [] goto :badArgCount
if [%3] EQU [] goto :badArgCount
if [%2] EQU [] goto :badArgCount
if [%1] EQU [] goto :badArgCount
if [%5] NEQ [] goto :badArgCount
set prjName=%1
set prjDir=%2
set scrName=%3
set targetDir=%4
goto :checkProject
:getProject
set /P prjName="What is the name of the project?: "
set /P prjDir="Where can it be found?: "
goto :checkProject
:checkProject
set prjNameEsc=%prjName:&=^&%
set firstChar=%prjName:~0,1%
if ^%firstChar% EQU ^" set prjName=%prjNameEsc:~1,-1%
set prjNameDisplay=%prjName:&=^^^&%
set prjDirEsc=%prjDir:&=^&%
set firstChar=%prjDir:~0,1%
if ^%firstChar% EQU ^" set prjDir=%prjDirEsc:~1,-1%
set prjDirDisplay=%prjDir:&=^^^&%
set project="%prjDir%\%prjName%"
if not exist %project% goto :noProject
if not defined scrName (goto :getScript) else (goto :checkScript)
:getScript
set /P scrName="Specify a name for the ACAD script: "
goto :checkScript
:checkScript
set scrNameEsc=%scrName:&=^&%
set firstChar=%scrName:~0,1%
if ^%firstChar% EQU ^" set scrName=%scrNameEsc:~1,-1%
set scrExt=%scrName:~-4%
if /I "%scrExt%" NEQ ".scr" set scrName=%scrName%.scr
set scrNameDisplay=%scrName:&=^^^&%
if exist "%scrName%" goto :scrFound
if not defined targetDir (goto :getTarget) else (goto :checkTarget)
:getTarget
set /P targetDir="Specify a directory to host the promoted project: "
goto :checkTarget
:checkTarget
set targetDirEsc=%targetDir:&=^&%
set firstChar=%targetDir:~0,1%
if ^%firstChar% EQU ^" set targetDir=%targetDirEsc:~1,-1%
set targetDirDisplay=%targetDir:&=^^^&%
set prjDest="%targetDir%\%prjName%"
if not exist "%targetDir%" (
md "%targetDir%"
echo.
echo Created target directory %targetDirDisplay%
goto :copyProject
) else (
if exist %prjDest% (goto :targetFound) else (goto :copyProject)
)
ENDLOCAL
exit /B
:badArgCount
echo.
echo This utility can be run as a single command with the following syntax:
echo.
echo promote.bat [projectName] [projectLocation] [scriptName] [promotionTarget].
echo.
goto :getProject
:noProject
echo.
echo You have specified a project %prjNameDisplay% in the directory %prjDirDisplay%.
echo This could not be found. Please try again.
echo.
goto :getProject
:badScrExt
echo.
echo Your Autocad script must have the extension ".scr" and you specified %scrNameDisplay%.
echo Please try again.
echo.
goto :getScript
:scrFound
echo.
echo An Autocad script with the name %scrNameDisplay% is already present in the working directory.
echo Delete this script or specify a different script name.
echo.
goto :getScript
:targetFound
echo.
echo A project with name %prjNameDisplay% was found in the target area %targetDirDisplay%.
echo Delete this project or specify another target area.
echo.
goto :getTarget
:copyProject
echo.
CLS
echo Copying project %prjNameDisplay%...
xcopy %project% %prjDest% /E /I /Q /H
attrib -A -R %prjDest% /D /S
echo Copied project %prjNameDisplay% to %prjDest%.
echo.
goto :genScript
:genScript
echo.
set count=0
@for /R %prjDest% %%i in (*.dwg) do (
set /a count+=1
echo _open "%%i">>"%scrName%"
echo _qsave>>"%scrName%"
echo _close>>"%scrName%"
)
echo Found %count% DWG files to be updated in the project %prjNameDisplay%.
set /a totalFiles=%count%
set count=0
@for /R %prjDest% %%i in (*.dwt) do (
set /a count+=1
echo _open "%%i">>"%scrName%"
echo _qsave>>"%scrName%"
echo _close>>"%scrName%"
)
echo Found %count% DWT files to be updated in the project %prjNameDisplay%.
echo.
set /a totalFiles=%totalFiles%+%count%
if %totalFiles% == 0 (
echo.
echo No DWG or DWT files were found in the project %prjName%!
echo There is nothing to promote.
echo.
echo Deleting the copy of %prjName% from %targetDir%.
echo The directory %targetDir% has been retained in case other folders or files are present.
echo.
RMDIR /Q/S %prjDest%
) else (
echo.
echo TO COMPLETE THE PROMOTION:
echo.
echo [1] Start ADT and make sure that a project is NOT currently active.
echo [2] Disable the previous version courtesy dialog using the AecFileOpenMessage command.
echo [3] Verify that the copy of the project located at %targetDirDisplay% has the same
echo file count as the original copy located at %prjDirDisplay%.
echo [4] Run the script %scrNameDisplay%.
@for /R %prjDest% %%i in (*.dws) do (
set /a foundDWS=1
goto :break
)
:break
if DEFINED foundDWS (
echo [5] Resave the following DWS file^(s^), making sure to preserve filenames.
echo ^(These cannot be promoted via a script as DWT and DWG files can.^)
echo.
@for /R %prjDest% %%i in (*.dws) do (
echo %%i
)
)
echo.
echo.
echo The project %prjNameDisplay% located in %targetDirDisplay% will then be promoted
echo to the current file format.
echo.
echo After this process is complete you may use this project
echo where it currently resides, or replace the old one with this new copy.
echo.
)
ENDLOCAL
exit /B
------------------------------------------------------------------------------------------------------

Resolución de problemas

Al utilizar esta secuencia de comandos, si se abre un dibujo de una versión anterior y se muestra un cuadro de diálogo, la secuencia de comandos se interrumpe. Para seguir guardando el resto de los dibujos en la versión actual:
  1. Edite el archivo de comandos y elimine todas las referencias hasta el último dibujo de una versión anterior que se haya guardado de nuevo correctamente.
  2. Identifique el motivo por el que se ha mostrado de forma inesperada el cuadro de diálogo y siga los pasos pertinentes para impedir su visualización.
  3. Ejecute el archivo de comandos modificado. El resto de los dibujos copiados se vuelven a guardar en la versión actual.
A continuación, la secuencia de comandos se detiene con frecuencia debido a que se muestran de forma inesperada cuadros de diálogo; escriba AecFileOpenMessage en la línea de comando del AutoCAD Architecture 2022 toolset y cambie el valor a No.
Importante: Restablezca de nuevo el valor de AecFileOpenMessage a una vez que se hayan guardado de nuevo todos los dibujos.