Często zadawane pytania: W jaki sposób można ponownie zapisać projekt lub folder plików rysunków w bieżącej wersji?

Zapisz ponownie projekt lub katalog plików rysunku z wcześniejszej wersji w bieżącej wersji, korzystając z pliku wsadowego.

Ponowne zapisywanie plików rysunku zapisanych w poprzednich wersjach zestaw narzędzi AutoCAD Architecture 2024 można zautomatyzować w bieżącej wersji, korzystając z pliku wsadowego.

Uruchomienie pliku wsadowego powoduje skopiowanie kompletnego projektu lub folderu zawierającego rysunki w poprzedniej wersji, a następnie rekurencyjne poszukiwanie wszystkich plików DWG, DWT i DWS w podanej lokalizacji i wygenerowanie pliku skryptu.

Uruchomienie pliku skryptu powoduje otwarcie, zapisanie i zamknięcie wszystkich skopiowanych plików DWG i DWT. Skutkuje to ponownym zapisaniem wszystkich plików DWG i DWT zostaną w bieżącej wersji.

Skrypt powoduje wyświetlenie ścieżek do plików DWS; należy ręcznie otwierać pliki DWS i zapisywać je w bieżącej wersji.

Ważne: Przed uruchomieniem plików wsadowego i skryptu upewnij się, że zostały utworzone kopie zapasowe. Jeśli skopiowano projekt do nowej lokalizacji, przed uruchomieniem pliku wsadowego należy zaktualizować ścieżki projektu dla oryginalnej wersji zestaw narzędzi AutoCAD Architecture 2024.

Aby zaimportować pliki do bieżącej wersji, korzystając z pliku wsadowego

    Ważne: Upewnij się, że opisane czynności są wykonywane dokładnie.
  1. Uruchom aplikację Notatnik firmy Microsoft®.
  2. Skopiuj tekst (plik wsadowy) między dwiema liniami kreskowymi i wklej go w Notatniku.
  3. Zapisz plik pod nazwą promote.bat i zamknij Notatnik.
  4. W wierszu polecenia systemu Windows® uruchom plik promote.bat, używając następującej składni:
    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.
    Uwaga: Argumenty zawierające spacje muszą zostać ujęte w cudzysłowy. Jeśli na przykład przechowujesz rysunki zapisane w poprzednich wersjach w folderze R:\CAD_Files\Projects\2010\Hospital, a chcesz, aby ponownie zapisane pliki zostały utworzone w folderze R:\CAD_Files\Projects\2014\Hospital, użyj następującej składni:
    promote.bat Hospital R:\CAD_Files\Projects\2010\ promote.scr R:\CAD_Files\Projects\2014
  5. Po zakończeniu plik skryptu o nazwie określonej przez użytkownika zostanie utworzony w tym samym folderze co plik promote.bat. Uruchom plik skryptu, aby automatycznie ponownie zapisać wszystkie skopiowane rysunki umieszczone w lokalizacji [promotionTarget] w bieżącej wersji.

Plik wsadowy

--------------------------------------------------------------------------------------------
@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
------------------------------------------------------------------------------------------------------

Rozwiązywanie problemów

Gdy w trakcie korzystania z tego skryptu jest otwarty rysunek w poprzedniej wersji, po wyświetleniu okna dialogowego zostanie on zakończony. Aby kontynuować ponowne zapisywanie pozostałych rysunków w bieżącej wersji:
  1. Zmodyfikuj plik skryptu i usuń wszystkie odniesienia do plików aż do ostatniego rysunku poprzedniej wersji, która została pomyślnie ponownie zapisana.
  2. Zidentyfikuj powód nieoczekiwanego wyświetlenia okna dialogowego i podejmij odpowiednie kroki, aby już się nie pojawiło.
  3. Uruchom zmodyfikowany plik skryptu. Pozostałe skopiowane rysunki powinny zostać ponownie zapisane w bieżącej wersji.
Następnie skrypt będzie często przerywał pracę z powodu wyświetlania nieoczekiwanych okien dialogowych, wprowadź AecFileOpenMessage w wierszu polecenia zestaw narzędzi AutoCAD Architecture 2024 i zmień wartość na Nie.
Ważne: Po ponownym zapisaniu pliku ustaw wartość AecFileOpenMessage ponownie na Tak.