Ho capito poco di quello che vuoi fare, però provo a darti una mano con alcuni esempi, poi al massimo li adatti alla tua realtà.
Facciamo finta di avere una chiavetta USB che contiene il nostro bat (quindi viene lanciato direttamente dalla chiavetta) e la cartella Prova che dobbiamo copiare in un percorso definito del sistema operativo, nel nostro caso MainRoot\Prova.
In pratica la cartella avrà questa struttura:
spostaCartella.bat
\Prova
- File1.txt
- File2.txt
- ....
Le cose che ci interessano sono:
- Trovare il percorso da cui viene lanciato il bat, così da poter trovare la cartella di partenza. Nel nostro caso usiamo %cd% perchè ragioniamo sul fatto che il bat venga lanciato col mouse (doppio click), quindi il path di partenza sarà quello in cui si trova il file (indipendentemente dalla lettera associata all'USB)
- Trovare il disco in cui è installato windows. Per farlo usiamo la variabile %SystemDrive% così da poter costruire il bat di destinazione
- Verificare se la directory di destinazione esiste (nel caso NON copiamo). Per farlo usiamo il comando "exist"
- Copiare la cartella e le sue sottodirectory. Per farlo usiamo il comando xcopy
Date queste premesse, un bat di esempio da cui puoi partire è questo:
@set fromDirectory=%cd%\Prova
@set toDirectory=%SystemDrive%\MainRoot\Prova
@echo %fromDirectory%
@echo %toDirectory%
@echo off
if exist "%toDirectory%"\ ( set /p UserInputPath=Directory %toDirectory% già esistente. Premere invio per uscire. ) else ( xcopy %fromDirectory% %toDirectory% /i /s /e )
Vedi te poi come adattarlo alle tue necessità