Ono to nějak půjde...
1. Pokud jsou na disku E ty soubory opravdu jedinečné, tak je přes Total Commander zkopíruj do jedné pomocné složky (vlevo zobrazit všechny i z podsložek Ctrl+B, vpravo pomocná složka, kopírovat) třeba do E:\VSECHNY.
2. Vyrob přesměrováním výstupu DIR seznam všech souborů na D včetně umístění a ulož třeba taky do té pomocné složky, což zařídíš spuštěním příkazu DIR v příkazovém řádku Total Commanderu:
DIR D:\*.* /s /b /a-d > E:\VSECHNY\kopiruj.bat
soubor kopiruj.bat bude obsahovat něco takovéhoto:D:\slo1\soubc.txt
D:\slo2\souba.txt
D:\slo3\soubb.t xt
D:\slo4\souba.txt
3. pomocí nějakého textového editoru kerej umí regulární výrazy (například shareware Editplus nezapomeň zaškrtnout Regular expression) uprav soubor kopiruj.bat nahrazováním (Search-Replace) na následující tvar:
copy E:\VSECHNY\soubc.txt D:\slo1\soubc.txt
copy E:\VSECHNY\souba.txt D:\slo2\souba.txt
copy E:\VSECHNY\soubb.txt D:\slo3\soubb.txt
copy E:\VSECHNY\souba.txt D:\slo4\souba.txt
Regulární výrazy pro tento případ budou:
Find what: (.*)(\\)(.*)
Replace with: copy E:\VSECHNY\\\3 \0
V případě, že názvy souborů obsahují mezery a jiné podivné znaky, musíš je uzavřít do uvozovek:
To zařídíš jen úpravou toho nahrazovánícopy "E:\VSECHNY\soubc.txt" "D:\slo1\soubc.txt"
copy "E:\VSECHNY\souba.txt" "D:\slo2\souba.txt"
copy "E:\VSECHNY\soubb.txt" "D:\slo3\soubb.txt"
copy "E:\VSECHNY\souba.txt" "D:\slo4\souba.txt"
Replace with: copy "E:\VSECHNY\\\3" "\0"
No a pak stačí spustit soubor kopiruj.bat
V případě, že Visty nemají příkaz DIR, nebo u něj mají jiné parametry, nebo neumí přesměrovávat, nebo neumí dávkové soubory, tak nás Bůh ochraňuj před takovým zlem...