Revit 2021 reorganize folders
@ECHO off
rem
=====================================================:::START BATCH FILE
REM DISSEMINATES REVIT
OOTB DRAG AND DROPPED
REM FOLDER TO
CLIENT-SPECIFIC NAMED FOLDERS
REM file-folder path for
drag and drop
REM
=====================================================
REM
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REM ***NOTE TEMPLATES AND
LIBRARY DOWNLOADS ARE SEPARATE FOR EACH GEOGRAPHY!!!!
REM
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
REM DESTINATION PATH and
DEFAULTS========================
rem ::: set
NewPath=L:\AUTODESK\REVIT ::REM
:::::::::::: NEWPATH
:: REM NO
":REM" After SET = *, IF or CLS!!!
set NewPath=C:\TEMP\rTEMP
set Version=2018
set Client=ktgy_
REM ::: if no source
prompts will help find content
REM ::: ~ removes "
s is for short source path to remove spaces and junk 1 is for 1st passed
arg(file)
@ECHO ===============================================================
@ECHO Pre-specified folders *VIA Sendto or drag and
drop:
@set source=%~s1
IF [%source%]==[] GOTO MSGDragAndDropempty
@echo Source = "%source%"
goto MSGDragAndDropEnd
:MSGDragAndDropempty : REM ::::::::::::::::::::::::::: If drag
and drop empty
@echo NONE
:MSGDragAndDropEnd : REM ::::::::::::::::::::::::::: If drag
and drop NOT empty
@ECHO ===============================================================
call :GetPrefixData
REM for ROBOCOPY PREFS
**DO NOT** SPECIFY FILE *.*, that varies from call to call!
set RoboPrefs= /NJH /NFL /NDL /NC /Z /DCOPY:T /MT:4 /XO /IT /XJ /FFT /DST /XJD
/XJF /R:0 /W:0 /REG /TBD /LOG+:%newpath%\RVT_%Version%_SPLIT.txt
rem ===set
values=========================================
::REM
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: CLEAR SCREEN FOR
NEXT BATCH
cls
::
@ECHO =USImperial TEMPLATES==========================================
REM SET ROOT DESTINATION
rem make sure no spaces
after root file paths!~
set USImperial=%newpath%\%Client%I(US)-%Version%
REM --set COPY Project
Templates & resolve short from path
IF "%version%" GEQ "2021"
GOTO USIMP2021
REM
ELSE...
GOTO USIMP_pre2021:
:USIMP2021 rem templates changes in 2020::2021
moved the files:::::::::
set Src=%source%\Templates\English
goto USIMP_SET
:USIMP_pre2021 rem PRE
2021 tempaltes still here...
set Src=%source%\Templates\US Imperial
:USIMP_SET REM
ONCE VALUE SET CONTINUE
set Dest=%USImperial%\000-TEMPLATES-PROJECT
call :RoboCopySub
@ECHO =USImperial DICTIONARIES=======================================
REM --set COPY
Dictionaries===========================
set Src=%source%
set Dest=%USImperial%\000-KEYS-CLASS-DIC
set Fopt=revitEN?.dic
call :RoboCopySub
@ECHO =USImperial USER DATA
CACHE (dic FILES)========================
set Src=%source%\UserDataCache
set Dest=%USImperial%\000-KEYS-CLASS-DIC
call :RoboCopySub
@ECHO =USImperial FAMILY
TEMPALTES====================================
::
C:\ProgramData\Autodesk\RVT 2018\Templates\US Imperial
REM --set COPY Project
Templates & resolve short from path
IF "%version%" GEQ "2021"
GOTO USIMP2021
REM
ELSE...
GOTO USIMP_pre2021:
:USIMP2021 REM
templates changes in 2020::2021 moved the files:::::::::
set Src=%source%\Family Templates\English-Imperial
goto USIMP_SET
:USIMP_pre2021 REM PRE
2021 tempaltes still here...
set Src=%source%\Family Templates\English_I
:USIMP_SET REM
ONCE VALUE SET CONTINUE
set Dest=%USImperial%\000-TEMPLATES-FAMILY
call :RoboCopySub
@ECHO =IES FILES=====================================================
REM --set COPY IES For
Metric & Imperial
set Src=%source%\ies
set Dest=%USImperial%\Lighting\000-IES
call :RoboCopySub
@ECHO =IMPERIAL CONTENT==============================================
REM --set COPY Imperial
Library::::::::::::::::::::::::::::::::::::::
IF "%version%" GEQ "2021"
GOTO USIMP2021
REM
ELSE...
GOTO USIMP_pre2021:
:USIMP2021 REM templates
changes in 2020::2021 moved the files:::::::::
set Src=%source%\lIBRARIES\English-Imperial
goto USIMP_SET
:USIMP_pre2021 REM PRE
2021 tempaltes still here...
set Src=%source%\Libraries\US Imperial
:USIMP_SET REM
ONCE VALUE SET CONTINUE
set Dest=%USImperial%
call :RoboCopySub
MOVE /y %DEST%\*.TXT %DEST%\000-KEYS-CLASS-DIC\
@ECHO =CONDUIT TABLES=================================================
REM --set COPY CONDUIT
TABLES - Metric & Imperial
set Src=%source%\Lookup Tables\Conduit
set Dest=%USImperial%\Conduit\000-Lookup_Conduit
set Fopt= /xf M_*.*
call :RoboCopySub
@ECHO =METRIC CONDUIT TABLES
COMMONLY USED IN USA=====================
REM --set COPY Metric
& Imperial======================
set Src=%source%\Lookup Tables\Pipe
set Dest=%USImperial%\PIPE\000-Lookup_Pipe
set Fopt= /xf M_*.*
call :RoboCopySub
@ECHO ================================================================
@ECHO ==FINISHED======================================================
@ECHO ================================================================
@ECHO = Run Renamer/Revit file
folders cleanup =======================
@ECHO ================================================================
pause
REM :::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::Pause for screen end
exit /b
GOTO :EOF
:END_OF
ROUTINE :: REM :::::::::::::::::::::::::::::::::::::::::::::::: END OF MAIN ROUTINE
:RoboCopySub :: REM ::::::::::::::::::::::::::::::::::::::::::::: EXEC ROBOCOPY WITH OPTIONS
REM CALL RESOLVE SHORT TO
GET RID OF SPACES IN SOURCE PATH
call :ResolveShort_SRC
REM %SRC% has quotes
stripped - EXIST requires Quotes to check folder
if NOT EXIST "%SRC%" (
@ECHO ================================================================
@echo !!!NO SOURCE: "%SRC%" !!!!!!!!!!!!!!!!!!!
@ECHO ================================================================
PAUSE
REM
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: FORCE EXIT ROBOCOPY SUB ON NOPATH
exit /b
)
@ECHO ================================================================
@ECHO SOURCE:::: %Src%
@ECHO DEST:::::: %Dest%
@ECHO Roboprefs: %Fopt%
%RoboPrefs%
@IF not EXIST %dest% mkdir %dest%
@ECHO
robocopy "%Src%" "%dest%"
/TEE %RoboPrefs% %Fopt%
@ECHO ================================================================
set Fopt= /e *.*
exit /b : REM EXIT /b = EXIT SUB
rem exit robocopy prefs :::::::::::::::::::::::::::::::::::::::::::::: END ROBOCOPY PREFS
:GetPrefixData : REM :::::::::::::::::::::::::::::::GET PREFIX DATA
REM @ECHO
=================================================
if not [%source%] == [] goto SkipSrcQuery : REM Skip
if set
:: Use to set Version
text to match the MAJOR Version
:: of revit to look up
the folder:
set /P Version=Please enter Revit Year or [enter] to use: %Version%
@ECHO Version = %Version%
@ECHO.
::REM ::::::::::::::::::::::::::::::::::::::::::::::::::: Skip to exit on nothing specified
if [%Version%] == [] goto PrefixError
::REM ::::::::::::::::::::::::::::::::::::::::::::::::::: Set SRC if not spec'd
if [%source%] == [] set source="C:\ProgramData\Autodesk\RVT %Version%"
REM Force SHORT path into
SOURCE through evaluation of path - gets rid of spaces and quotes
REM TEMP assign SRC to
%Source% as %Source% is reused.
set src=%source%
call :ResolveShort_SRC
set source=%src%
@ECHO Using SOURCE(short) = %source%
@ECHO.
::Must use quotes around
source for path in folder issues. ::resolved by shortpath
IF EXIST %source% goto SkipSrcQuery:
@echo GetPrefix 04-error "Does not exist"
@echo EXITING
PAUSE
exit
:SkipSrcQuery :
REM ::::::::::::::::::::::::::::::: For Skip if source spec'd VIA Drag and drop
GOTO BypassErr
: REM Bypass ERROR
(Successful up till now)
:PrefixError : REM :::::::::::::::::::::::::::::: Error out for above routine
@ECHO. Nothing entered-
exiting!!
pause
exit : REM error exit
:BypassErr : REM :::::::::::::::::::::::::::::: BypassErr bypas Error handler
REM CLIENT PREFIX
REM CLEAR SCREEN :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::cls
@ECHO ================================================================
@ECHO.
set %Client%=ootb_
set /P Client=Please type a new Client_ prefix or [enter] for %Client% default:
IF "%Client%"=="" GOTO Error
GOTO End2
:Error
@ECHO. Nothing entered-
exiting!!
exit : REM error exit
:End2
REM Validate before
proceeding:::::::::::::::::::::::::::::::::::::::::::
CLS
@ECHO ================================================================
@ECHO.
set /P query=Enter Y to proceed with path %NewPath%\%Client%[varies]-%Version%:
@ECHO.
IF [%query%]==[Y] GOTO Proceed3
IF [%query%]==[y] GOTO Proceed3
:exit1
@ECHO ================================================================
@ECHO. "Y" or
"y" not entered- Nothing done - Exiting.
:: REM error exit
exit
:Proceed3
:: End of sub
exit /b
:ResolveShort_SRC : REM ::::::::::::::::::::::::::::Force resolve short path
::Force SHORT path into
SOURCE through evaluation of path
set strBefore=%Src%
REM Strip Quotes
SET Src=%Src:"=%
REM Convert to short path
FOR %%i IN ("%Src%") DO (
set Src=%%~si
break
)
@echo Short path %Src% convert from %strBefore%
:: End of sub
exit /b
Comments
Post a Comment