Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Change this to the base directory of your minecraft installation
- alias minecraftdir { return F:\Dropbox\Minecraft\ }
- alias mcbackup {
- if (!$1) {
- window -dl50e @mcbackuplist
- noop $finddir($+($minecraftdir,saves\),*,0,1,@mcbackuplist)
- noop $finddir($minecraftdir,*bin*,0,1,@mcbackuplist)
- halt
- }
- .timerMCStart 1 $r(1,5) mcbackupdo $1 $2-
- }
- alias -l mcbackupdo {
- if ($1 == -w) {
- if ($window(@mcbackuplist)) { clear @mcbackuplist }
- %world = $qt($2-)
- %backupdir = $qt($iif($readini(mcbackup.ini,Backup,Dir),$+($v1,$iif($right($v1,1) != \,\)),$mircdirMinecraft Backups\))
- %worlddir = $gettok($2-,-1,$asc(\))
- if ($window(@mcbackuplist)) { echo @mcbackuplist Checking folders... }
- if (!$exists(%backupdir)) {
- mkdir %backupdir
- if ($window(@mcbackuplist)) { echo @mcbackuplist Creating %backupdir }
- }
- if (!$exists($+($noqt(%backupdir),Worlds\))) {
- mkdir $qt($+($noqt(%backupdir),Worlds\))
- if ($window(@mcbackuplist)) { echo @mcbackuplist Creating $qt($+($noqt(%backupdir),Worlds\)) }
- }
- %backupdir = $+($noqt(%backupdir),Worlds\)
- if (!$exists($qt($+(%backupdir,%worlddir)))) {
- if ($window(@mcbackuplist)) { echo @mcbackuplist Creating $qt($+(%backupdir,%worlddir,\)) }
- mkdir $qt($+(%backupdir,%worlddir,\))
- }
- if ($exists($+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss),\))) {
- var %bkupid 1
- while ($exists($qt($+(%backupdir,%worlddir,$asctime($ctime,dd-mm-yy_hh.nn.ss),-,%bkupid))) {
- inc %bkupid
- }
- }
- %copyfolder = $iif(%bkupid > 1,$+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss),-,%bkupid),$+(%backupdir,%worlddir,\,$asctime($ctime,dd-mm-yy_hh.nn.ss)))
- ;echo -ts %copyfolder
- mkdir $qt(%copyfolder)
- var %totalfiles $findfile(%world,*,0,)
- if ($window(@mcbackuplist)) { echo @mcbackuplist %totalfiles total files | echo @mcbackuplist Creating $qt(%copyfolder) }
- noop $finddir(%world,*,0,createfolder $+(%copyfolder,$remove($1-,$noqt(%world))))
- if ($window(@mcbackuplist)) { echo @mcbackuplist Copying world files | echo @mcbackuplist $str(-,30) }
- noop $findfile(%world,*,0,copyworldfiles %totalfiles $1-)
- if ($window(@mcbackuplist)) { echo @mcbackuplist Done copying }
- unset %f
- halt
- :error
- mcbe -e -> ERROR: $error
- reseterror
- halt
- }
- elseif ($1 == -b) {
- %n = $iif($?="Enter a name for this backup (leave blank to use current system time)",$v1,$asctime($ctime,dd-mm-yy_hh.nn.ss))
- if ($2 == r) {
- %d = $3-
- }
- else {
- %d = $2-
- }
- mcbe Creating folders
- var %c $iif($readini(mcbackup.ini,Backup,Dir),$+($v1,$iif($right($v1,1) != \,\)),$mircdirMinecraft Backups\), %c2 $+($noqt(%c),bin\,%n)
- mcbe %c \ %c2 \ %d \ %n
- var %x 2
- set %o $gettok(%c2,1,$asc(\))
- while ($gettok(%c2,%x,$asc(\))) {
- %o = %o $+ \ $+ $v1 $+
- mcbe Checking for folder: %o
- if (!$exists(%o)) { createfolder %o }
- inc %x
- }
- ;noop $finddir(%d,*,0,1,createfolder $+($replace(%d,$minecraftdir,%o)))
- var %t $findfile(%d,*,0,1,)
- mcbe %t files
- noop $findfile(%d,*,0,1,copybinfiles %t $1-)
- if ($window(@mcbackuplist)) { echo @mcbackuplist Done copying }
- unset %c %c2 %f %d %n %x %o
- halt
- :error
- mcbe -e -> ERROR: $error
- reseterror
- halt
- }
- }
- alias -l mcbe { if ($window(@mcbackuplist)) { echo $iif($1 == -e,4) @mcbackuplist $iif($1 == -e,$2-,$1-) } }
- alias -l createfolder {
- mkdir $qt($+($1-,\))
- if ($window(@mcbackuplist)) { echo @mcbackuplist Creating folder $1- $+ ... }
- }
- alias -l copyworldfiles {
- inc %f
- if ($window(@mcbackuplist)) { echo @mcbackuplist Copying world file $+($chr(40),%f,/,$1,$chr(41),:) $2- }
- .copy $qt($2-) $qt($+(%copyfolder,\,$remove($2-,$noqt(%world))))
- }
- menu @mcbackuplist {
- dclick: {
- if ($line(@mcbackuplist,0) > 0) { clear @mcbackuplist }
- var %f $line(@mcbackuplist,$$1-,1)
- echo @mcbackuplist Preparing to copy from %f $+ ...
- mcbackup $iif(*saves* iswm %f,-w,-b) %f
- }
- }
- alias -l copybinfiles {
- inc %f
- mcbe Copying $2- -> $qt($+(%o,\,$gettok($2-,-1,$asc(\)),))
- .copy $qt($2-) $qt($+(%o,\,$gettok($2-,-1,$asc(\)),))
- }
Advertisement
Add Comment
Please, Sign In to add comment