home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / c / clone1_1.zip / REPLICA.B2C < prev    next >
Text File  |  1993-01-07  |  17KB  |  511 lines

  1. echo off
  2. if "%1"==".entry1" goto entry1
  3. if "%1"==".entry2" goto entry2
  4. if "%1"==".sub1" goto sub1
  5. if "%1"==".sub2" goto sub2
  6. if "%1"==".filspec" goto filspec
  7. if "%1"==".sub4" goto sub4
  8. if "%2"==".sub5" goto sub5
  9. if "%1"==".sub6" goto sub6
  10.  
  11. echo REPLICA vs. 1.1 receives a complete drive, or a part of it (branch) serially
  12. echo from another machine into a specific subdirectory. (c) 1993, Jim Groeneveld, NL
  13. echo.
  14. rem Necessary auxiliary files: SUBST.*, FIND.* (DOS) and ZIP.COM (vs. 1.51)
  15. if "%1"=="" goto help
  16. if "%1"=="?" goto help
  17. if "%1"=="/?" goto help
  18. if "%1"=="-?" goto help
  19. if "%1"=="/h" goto help
  20. if "%1"=="/H" goto help
  21. echo Wait.............processing arguments..................
  22. REM The two 'FOR' lines below activate a bug in the BATch compiler if wildcards
  23. REM are specified. Their function has been reprogrammed differently.
  24. REM Compiler: BAT2EXEC 1.5 (c) 1990, 1991 Ziff Communications Co.
  25. REM           PC Magazine ■ Douglas Boling.
  26. REM for %%a in (%1 %2 %3 %4 %5 %6 %7 %8 %9) do if "%%a"==".s" goto repeat_1
  27. REM for %%a in (%1 %2 %3 %4 %5 %6 %7 %8 %9) do if "%%a"==".S" goto repeat_1
  28. REM    (although wildcards are not being expected as parameters of REPLICA)
  29. for %%a in (s S) do if "%1"==".%%a" goto repeat_1
  30. for %%a in (s S) do if "%2"==".%%a" goto repeat_1
  31. for %%a in (s S) do if "%3"==".%%a" goto repeat_1
  32. for %%a in (s S) do if "%4"==".%%a" goto repeat_1
  33. for %%a in (s S) do if "%5"==".%%a" goto repeat_1
  34. for %%a in (s S) do if "%6"==".%%a" goto repeat_1
  35. for %%a in (s S) do if "%7"==".%%a" goto repeat_1
  36. for %%a in (s S) do if "%8"==".%%a" goto repeat_1
  37. for %%a in (s S) do if "%9"==".%%a" goto repeat_1
  38. goto chk_tmp
  39.  
  40. :repeat_1
  41. %0 .sub1 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  42. goto exit
  43. rem never pass here!
  44.  
  45. :entry1
  46. shift
  47. shift
  48. if "%1"=="" goto help
  49. goto no_filspec
  50.  
  51. :chk_tmp
  52. if not exist $dirlist.bat goto no_dirlist
  53.   echo *** Temporary file $DIRLIST.BAT already exists, cannot proceed;
  54.   echo     remove or rename $DIRLIST.BAT or specify '.s' option.
  55.   goto end
  56. :no_dirlist
  57. if not exist $fillist.bat goto no_fillist
  58.   echo *** Temporary file $FILLIST.BAT already exists, cannot proceed;
  59.   echo     remove or rename $FILLIST.BAT or specify '.s' option.
  60.   goto end
  61. :no_fillist
  62. if not exist $filspec.bat goto no_filspec
  63.   echo *** Temporary file $FILSPEC.BAT already exists, cannot proceed;
  64.   echo     remove or rename $FILSPEC.BAT or specify '.s' option.
  65.   goto end
  66.  
  67. :no_filspec
  68. if exist $dirlist.bat del $dirlist.bat
  69. if exist $dirlist.bat goto $dirlist
  70. if exist $fillist.bat del $fillist.bat
  71. if exist $fillist.bat goto $fillist
  72. if exist $filspec.bat del $filspec.bat
  73. if exist $filspec.bat goto $filspec
  74.  
  75. rem Search %2 for optional legal parameter:
  76. if "%2"=="" goto OK_2
  77. rem Exclude all possible legal parameters (see file UNDOCU'D.DOS)
  78. for %%a in (x X s S) do if "%2"==".%%a" goto OK_2
  79. for %%a in (1 2 3 4) do if "%2"=="/%%a" goto OK_2
  80. for %%a in (b115200 b57600 b38400 b19200 b9600 b4800 b2400) do if "%2"=="/%%a" goto OK_2
  81. for %%a in (B115200 B57600 B38400 B19200 B9600 B4800 B2400) do if "%2"=="/%%a" goto OK_2
  82. for %%a in (b11520 b5760 b3840 b1920 b960 b480 b240) do if "%2"=="/%%a" goto OK_2
  83. for %%a in (B11520 B5760 B3840 B1920 B960 B480 B240) do if "%2"=="/%%a" goto OK_2
  84. for %%a in (b1152 b576 b384 b192 b96 b48 b24) do if "%2"=="/%%a" goto OK_2
  85. for %%a in (B1152 B576 B384 B192 B96 B48 B24) do if "%2"=="/%%a" goto OK_2
  86. for %%a in (b115 b11 b57 b38 b19 B115 B11 B57 B38 B19) do if "%2"=="/%%a" goto OK_2
  87. goto error2                rem or remove the check completely!
  88.  
  89. :OK_2
  90. rem if "%1"=="\" goto error1         These subst path specifications appear to
  91. rem if "%1"=="." goto error1         work correctly, as does any relative path
  92. rem if "%1"==".." goto error1        specification, at least with DOS 3.3 .
  93. for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if "%1"=="%%a" goto error1
  94. for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if "%1"=="%%a" goto error1
  95. for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if "%1"=="%%a:" goto error1
  96. for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if "%1"=="%%a:" goto error1
  97. if "%1"=="z:\" goto error1
  98. if "%1"=="Z:\" goto error1
  99.  
  100. for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y) do if "%1"=="%%a:\" goto begin
  101. for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y) do if "%1"=="%%a:\" goto begin
  102. if exist %1 goto is_file
  103. if exist %1\$chkpath.nul del %1\$chkpath.nul
  104. if exist %1\$chkpath.nul goto 1_exists
  105. if exist %1\*.* goto begin
  106.   ctty nul
  107.   rem>%1\$chkpath.nul
  108.   ctty con
  109.   if not exist %1\$chkpath.nul goto not_existing
  110.   :begin0
  111.   if exist %1\$chkpath.nul del %1\$chkpath.nul
  112. :begin
  113. if exist Z:\*.* goto z_exists
  114.   ctty nul
  115.   rem>Z:\$chkpath.nul
  116.   ctty con
  117.   if not exist Z:\$chkpath.nul goto nosubstz
  118.     del Z:\$chkpath.nul
  119.  
  120. :z_exists
  121. echo --- Existing substitution or network assignment drive of Z: will be lost;
  122. echo     drive Z will be temporarily substituted as %1
  123. echo     Restore original substitution after termination of this program:
  124. subst|find "Z:"
  125. net use|find "Z:"
  126. echo (Ignore eventual "Bad command or file name" above...........)
  127.  
  128. :nosubstz
  129. rem If Z: is write protected its existence can not be checked. So to be
  130. rem sure Z: is being freed below from substitution or network assignment.
  131. subst z: /d >nul
  132. rem disconnect drive Z: from network, ignore eventual error message..........
  133. ctty nul
  134. net use z: /d >nul
  135. ctty con
  136.  
  137. rem check whether Z: now indeed does not exist
  138. if not exist Z:\*.* goto mount
  139.   ctty nul
  140.   rem>Z:\$chkpath.nul
  141.   ctty con
  142.   if not exist Z:\$chkpath.nul goto mount
  143.     del Z:\$chkpath.nul
  144.     echo *** Existing drive Z:\ could not be disconnected successfully.
  145.     echo     It still may be ASSIGNed or otherwise existing. Program abort!
  146.     goto beep
  147.  
  148. :mount
  149. rem substitute Z: to specified drive:\path to transfer
  150. subst z: %1 >nul
  151. rem and check whether substitution succeeded
  152. if exist Z:\$chkpath.nul del Z:\$chkpath.nul
  153. if exist Z:\$chkpath.nul goto no_z_nul
  154. if exist Z:\*.* goto begin2
  155.   ctty nul
  156.   rem>Z:\$chkpath.nul
  157.   ctty con
  158.   if not exist Z:\$chkpath.nul goto no_z_nul
  159.     del Z:\$chkpath.nul
  160.  
  161. :begin2
  162. echo --- receive subdirectory structure $DIRLIST.BAT, filelist $FILLIST.BAT
  163. echo     and filespec $FILSPEC.BAT (in current drive\dir)
  164. rem without eventual parameter .x
  165. %0 .sub2 %0 %2 %3 %4 %5 %6 %7 %8 %9
  166. if not exist $dirlist.bat goto nodirlist
  167. if not exist $fillist.bat goto nofillist
  168. if not exist $filspec.bat goto nofilspec
  169. rem restart with obtained filespec from $FILSPEC.BAT as %2
  170. $filspec %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  171. rem Actual final termination of compiled batch file (.B2C) takes place here.
  172. rem Final deletion of $FILSPEC.BAT only after finishing its run,
  173. rem otherwise "Batch file missing" and "Bad command or file name"
  174. rem occur after ending %0 from $FILSPEC above:
  175. if exist $filspec.bat del $filspec.bat
  176. if exist $filspec.bat echo delete $FILSPEC.BAT yourself.
  177. goto exit
  178.  
  179. :file_spec
  180. echo --- Replicating branch: %1, file specification: %2
  181. if not "%3"=="" echo     Additional option(s): %3 %4 %5 %6 %7 %8 %9
  182. echo --- create subdir structure from list (in specified drive\dir)
  183. $dirlist echo
  184. ctty nul
  185. $dirlist md
  186. ctty con
  187. echo --- check whether they exist (already, if unable to create)
  188. $dirlist %0 .sub5
  189. rem eventual check for existing target files if _no_ '.x' parameter
  190. REM The two 'FOR' lines below activate a bug in the BATch compiler if wildcards
  191. REM are specified. Their function has been reprogrammed differently.
  192. REM Compiler: BAT2EXEC 1.5 (c) 1990, 1991 Ziff Communications Co.
  193. REM           PC Magazine ■ Douglas Boling.
  194. REM for %%a in (%3 %4 %5 %6 %7 %8 %9) do if "%%a"==".x" goto repeat_2
  195. REM for %%a in (%3 %4 %5 %6 %7 %8 %9) do if "%%a"==".X" goto repeat_2
  196. REM    (although wildcards are not being expected as parameters of REPLICA)
  197. REM    (but a wildcard file specification may come from $FILSPEC.BAT)
  198. for %%a in (x X) do if "%3"==".%%a" goto repeat_2
  199. for %%a in (x X) do if "%4"==".%%a" goto repeat_2
  200. for %%a in (x X) do if "%5"==".%%a" goto repeat_2
  201. for %%a in (x X) do if "%6"==".%%a" goto repeat_2
  202. for %%a in (x X) do if "%7"==".%%a" goto repeat_2
  203. for %%a in (x X) do if "%8"==".%%a" goto repeat_2
  204. for %%a in (x X) do if "%9"==".%%a" goto repeat_2
  205.   goto chkfiles
  206.  
  207. :repeat_2
  208. %0 .sub4 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  209. goto exit          rem never pass here!
  210.  
  211. :chkfiles
  212. $fillist %2 %0 .sub6
  213. goto no-chk
  214.  
  215. :entry2
  216. shift
  217. shift
  218. :no-chk
  219. echo --- receive files (in specified drive\dir)
  220. zip /s %3 %4 %5 %6 %7 %8 %9
  221. if errorlevel 1 goto error4
  222. echo === all files successfully received and server successfully unlinked
  223. rem server will be unlinked by client
  224.  
  225. :finish
  226. subst z: /d >nul
  227. if exist $dirlist.bat del $dirlist.bat
  228. if exist $dirlist.bat echo delete $DIRLIST.BAT yourself.
  229. if exist $fillist.bat del $fillist.bat
  230. if exist $fillist.bat echo delete $FILLIST.BAT yourself.
  231. rem if exist $filspec.bat del $filspec.bat                   +Moved to actual
  232. rem if exist $filspec.bat echo delete $FILSPEC.BAT yourself. +final termination.
  233. echo === Termination of REPLICA ===
  234. goto end
  235.  
  236. :$dirlist
  237. echo *** Unable to delete (or overwrite later) $DIRLIST.BAT
  238. goto $explain
  239. :$fillist
  240. echo *** Unable to delete (or overwrite later) $FILLIST.BAT
  241. goto $explain
  242. :$filspec
  243. echo *** Unable to delete (or overwrite later) $FILSPEC.BAT
  244. :$explain
  245. echo     File and/or disk may be write protected, unprotect it/them.
  246. goto end
  247.  
  248. :error1
  249. echo *** Illegal target path specification %1 ***
  250. goto beep
  251. :error2
  252. echo *** Illegal parameter %2 ***
  253. goto beep
  254.  
  255. :error4
  256. if errorlevel 128 goto finish
  257. echo *** An error occurred while receiving all files (see above)
  258. echo     Abort sending end manually if not already automatically
  259. echo     and try again (maybe using a different speed).
  260. goto finish
  261.  
  262. :nodirlist
  263. echo *** $DIRLIST.BAT apparently not received. Cannot proceed. Program abort!
  264. goto finish
  265. :nofillist
  266. echo *** $FILLIST.BAT apparently not received. Cannot proceed. Program abort!
  267. goto finish
  268. :nofilspec
  269. echo *** $FILSPEC.BAT apparently not received. Cannot proceed. Program abort!
  270. goto finish
  271.  
  272. :no_z_nul
  273. echo *** Impossible to install auxiliary substituted drive Z:.
  274. echo     - Maybe the external DOS SUBST command is not available.
  275. echo     - Maybe the necessary line "LASTDRIVE=Z" lacks in CONFIG.SYS.
  276. echo     - Maybe an already substituted or network drive has been specified;
  277. echo       only logical drives may be specified.
  278. echo     - Maybe an original drive Z: is write protected.
  279. echo     - Maybe the disk with %1 is write protected.
  280. echo     - (maybe only temporary check file $CHKPATH.NUL is write protected).
  281. echo     - Or maybe a wrong syntax has been applied (see below).
  282. echo     Correct and try again.
  283. goto beep
  284.  
  285. :not_existing
  286. ctty nul
  287. md %1
  288. rem>%1\$chkpath.nul
  289. ctty con
  290. if exist %1\$chkpath.nul goto begin0
  291.   echo *** Specified «drive»«path» %1 does not exist
  292.   echo     and cannot be created or the disk may be write protected.
  293.   echo     Remove eventual protection or create %1 manually firstly.
  294.   echo     Program abort!
  295.   goto beep
  296.  
  297. :1_exists
  298. echo *** Specified «drive»«path» %1 is write protected
  299. echo     (or only temporary check file $CHKPATH.NUL is write protected).
  300. echo     Remove protection. Program abort!
  301. goto beep
  302. :is_file
  303. echo *** Specified «drive»«path» %1 is a file, not a subdirectory.
  304. echo     Program abort!
  305. goto beep
  306. :beep
  307. echo  
  308.  
  309. :help
  310. echo Usage: "REPLICA «drive»«path» [options]" of receiving subdirectory,
  311. echo with   «drive»  = logical (not substituted) drive A..Y (not Z:),
  312. echo and    «path»   = complete pathname, without trailing \, unless root,
  313. echo and   [options] = one or more of optional parameters below:
  314. echo              .s : skip initial test for temporary scratch files
  315. echo              .x : skip check for existing files in target directories
  316. echo   see also ( /1│/2│/3│/4 : COM port number
  317. echo   ZIP.DOC  ( /Bbaudrate : sets baudrate
  318. echo Example: "REPLICA C:\" or "REPLICA D:\WORK\TEXTS /2 .X".
  319. echo.
  320. echo On the sending end the following has to be entered:
  321. echo "CLONE «drive»«path» [«filespec»] [options]" of subdirectory to transfer.
  322. goto end
  323.  
  324. :sub1
  325. shift
  326. shift
  327. rem Remove .s .S from parameters and restart batch file................
  328. for %%a in (s S) do if "%1"==".%%a" goto s1
  329. for %%a in (s S) do if "%2"==".%%a" goto s2
  330. for %%a in (s S) do if "%3"==".%%a" goto s3
  331. for %%a in (s S) do if "%4"==".%%a" goto s4
  332. for %%a in (s S) do if "%5"==".%%a" goto s5
  333. for %%a in (s S) do if "%6"==".%%a" goto s6
  334. for %%a in (s S) do if "%7"==".%%a" goto s7
  335. for %%a in (s S) do if "%8"==".%%a" goto s8
  336. for %%a in (s S) do if "%9"==".%%a" goto s9
  337. %0 .entry1 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  338. goto exit
  339.  
  340. :s1
  341. %0 .sub1 %0 %2 %3 %4 %5 %6 %7 %8 %9
  342. goto exit
  343. :s2
  344. %0 .sub1 %0 %1 %3 %4 %5 %6 %7 %8 %9
  345. goto exit
  346. :s3
  347. %0 .sub1 %0 %1 %2 %4 %5 %6 %7 %8 %9
  348. goto exit
  349. :s4
  350. %0 .sub1 %0 %1 %2 %3 %5 %6 %7 %8 %9
  351. goto exit
  352. :s5
  353. %0 .sub1 %0 %1 %2 %3 %4 %6 %7 %8 %9
  354. goto exit
  355. :s6
  356. %0 .sub1 %0 %1 %2 %3 %4 %5 %7 %8 %9
  357. goto exit
  358. :s7
  359. %0 .sub1 %0 %1 %2 %3 %4 %5 %6 %8 %9
  360. goto exit
  361. :s8
  362. %0 .sub1 %0 %1 %2 %3 %4 %5 %6 %7 %9
  363. goto exit
  364. :s9
  365. %0 .sub1 %0 %1 %2 %3 %4 %5 %6 %7 %8
  366. goto exit
  367.  
  368. :sub2
  369. shift
  370. shift
  371. rem Remove .x .X temporary from parameters and execute ZIP................
  372. for %%a in (x X) do if "%1"==".%%a" goto x1
  373. for %%a in (x X) do if "%2"==".%%a" goto x2
  374. for %%a in (x X) do if "%3"==".%%a" goto x3
  375. for %%a in (x X) do if "%4"==".%%a" goto x4
  376. for %%a in (x X) do if "%5"==".%%a" goto x5
  377. for %%a in (x X) do if "%6"==".%%a" goto x6
  378. for %%a in (x X) do if "%7"==".%%a" goto x7
  379. for %%a in (x X) do if "%8"==".%%a" goto x8
  380. zip /r[] %1 %2 %3 %4 %5 %6 %7 %8
  381. if errorlevel 1 goto error3
  382.   echo === subdirectory structure $DIRLIST.BAT, filelist $FILLIST.BAT
  383.   echo     and filespec $FILSPEC.BAT successfully received
  384.   :recover1
  385.   goto exit
  386.  
  387. :error3
  388. echo *** An error occurred while sending $DIRLIST.BAT, $FILLIST.BAT and $FILSPEC.BAT
  389. echo     (see above)
  390. goto recover1
  391.  
  392. :x1
  393. %0 .sub2 %0 %2 %3 %4 %5 %6 %7 %8
  394. goto exit
  395. :x2
  396. %0 .sub2 %0 %1 %3 %4 %5 %6 %7 %8
  397. goto exit
  398. :x3
  399. %0 .sub2 %0 %1 %2 %4 %5 %6 %7 %8
  400. goto exit
  401. :x4
  402. %0 .sub2 %0 %1 %2 %3 %5 %6 %7 %8
  403. goto exit
  404. :x5
  405. %0 .sub2 %0 %1 %2 %3 %4 %6 %7 %8
  406. goto exit
  407. :x6
  408. %0 .sub2 %0 %1 %2 %3 %4 %5 %7 %8
  409. goto exit
  410. :x7
  411. %0 .sub2 %0 %1 %2 %3 %4 %5 %6 %8
  412. goto exit
  413. :x8
  414. %0 .sub2 %0 %1 %2 %3 %4 %5 %6 %7
  415. goto exit
  416.  
  417. :filspec
  418. shift
  419. shift
  420. goto file_spec
  421.  
  422. :sub4
  423. shift
  424. shift
  425. rem Remove .x .X from parameters and restart batch file................
  426. for %%a in (x X) do if "%3"==".%%a" goto c3
  427. for %%a in (x X) do if "%4"==".%%a" goto c4
  428. for %%a in (x X) do if "%5"==".%%a" goto c5
  429. for %%a in (x X) do if "%6"==".%%a" goto c6
  430. for %%a in (x X) do if "%7"==".%%a" goto c7
  431. for %%a in (x X) do if "%8"==".%%a" goto c8
  432. for %%a in (x X) do if "%9"==".%%a" goto c9
  433. %0 .entry2 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9
  434. goto exit
  435.  
  436. :c3
  437. %0 .sub4 %0 %1 %2 %4 %5 %6 %7 %8 %9
  438. goto exit
  439. :c4
  440. %0 .sub4 %0 %1 %2 %3 %5 %6 %7 %8 %9
  441. goto exit
  442. :c5
  443. %0 .sub4 %0 %1 %2 %3 %4 %6 %7 %8 %9
  444. goto exit
  445. :c6
  446. %0 .sub4 %0 %1 %2 %3 %4 %5 %7 %8 %9
  447. goto exit
  448. :c7
  449. %0 .sub4 %0 %1 %2 %3 %4 %5 %6 %8 %9
  450. goto exit
  451. :c8
  452. %0 .sub4 %0 %1 %2 %3 %4 %5 %6 %7 %9
  453. goto exit
  454. :c9
  455. %0 .sub4 %0 %1 %2 %3 %4 %5 %6 %7 %8
  456. goto exit
  457.  
  458. :sub5
  459. if exist %1\*.* goto end
  460. if exist %1 goto is-file
  461.   ctty nul
  462.   rem>%1\$chkpath.nul
  463.   ctty con
  464.   if not exist %1\$chkpath.nul goto not-existing
  465.   del %1\$chkpath.nul
  466.   rem %1 is an existing directory
  467.   goto end
  468.  
  469. :is-file
  470. echo.
  471. echo ***************************************************************************
  472. echo *** Replicated specification %1 is an existing file name.
  473. echo     Transferring files to this "subdirectory" just hereafter
  474. echo     will _NOT_ succeed! REPLICA will continue after you
  475. pause
  476. goto end
  477.  
  478. :not-existing
  479. echo.
  480. echo ***************************************************************************
  481. echo *** Replicated specification %1
  482. echo     could not be created or is write protected.
  483. echo     Transferring files to this "subdirectory" just hereafter
  484. echo     probably will _NOT_ succeed! REPLICA will continue after you
  485. pause
  486. goto end
  487.  
  488. :sub6
  489. if not exist %2 goto end
  490. echo.
  491. echo ***************************************************************************
  492. echo !!! Warning: target file specification %2 already exists!
  493. dir %2 /w /p
  494. pause
  495. echo.
  496. echo IF YOU HAVE NOT SPECIFIED THE '/N' OR '/P' PARAMETER ON THE OTHER END (CLONE)
  497. echo THESE FILES MAY BE OVERWRITTEN!
  498. echo IF YOU WISH TO ABORT NOW PRESSING ^C OR Ctrl-Break WILL _NOT_ HELP!
  499. echo YOU CAN ONLY SWITCH OFF YOUR COMPUTER _NOW_ AND TRY AGAIN DIFFERENTLY.
  500. echo IN THAT CASE PRESS 'ESC' ON THE OTHER END AS MANY TIMES AS NECESSARY TO
  501. echo FINISH CLONE OR SWITCH IT OFF TOO AND RESTART.
  502. echo.
  503. echo To avoid these checks and resulting messages specify '.x' option next time.
  504. echo.
  505. echo If you think everything is OK (files may be overwritten or won't) then
  506. pause
  507. goto end
  508.  
  509. :end
  510. :exit
  511.