Předmět Autor Datum
Dotazu nerozumím, ale zástupci mají příponu lnk. Takže programu řekni, že chceš zkopírovat všechny *…
host 22.11.2023 19:20
host
1) kterých souborů to mají být zástupci = zdroj? 2) kde mají ležet?
lední brtník 22.11.2023 19:23
lední brtník
1) Ano, složka se soubory, cíl složka se zástupci (složka není zástupce) 2) Ve zdroji > cíl má být v…
Kůrokládos 22.11.2023 21:23
Kůrokládos
Zástupce si budeš muset vytvářet, ty nijak nezkopíruješ, protože je nemáš. Můžeš použít třeba PowerS…
Jan Fiala 23.11.2023 05:24
Jan Fiala
Hmm, takže práce s programováním až do důchodu... To už znám z VB6, "For each files in folder", to b…
Kůrokládos 23.11.2023 14:32
Kůrokládos
Čteš příspěvky ??? "Nebo složku po složce, označit soubory a přes pravou myš nechat vytvořit zástupc…
dsa 23.11.2023 19:34
dsa
Pokud umíš vbs skript, lehká inspirace (třeba se ti vyplatí si to naprogramovat). Rem Skript pro ge…
dsa 23.11.2023 19:45
dsa
Asi opráším to programování, ale už se mi do toho moc nechce. Dám vědět, díky za podmět.
Kůrokládos 24.11.2023 22:16
Kůrokládos
z resource kitu k windows: https://ss64.com/nt/shortcut.html
lední brtník 23.11.2023 21:00
lední brtník
Jinak ten zástupce se přece nemění na základě změny souboru. To ne, ale kdyz soubor smazes, zastupc…
Jan Fiala 23.11.2023 22:57
Jan Fiala
Podle mě je to taky nesmysl, dělat fůru zástupců. Přitom stačí udělat na ploše jen zástupce celých s…
Karel04 23.11.2023 23:22
Karel04
Né že smažu soubor, vysunu disk, zástupce zůstane a v danné složce která není zástupce hned vidím ce…
Kůrokládos 24.11.2023 22:14
Kůrokládos
Promiň, cetl jsem to několikrát, ale nepochopil. Holt už stárnu. Zkus to vysvětlit nějak lidsky. poslední
Jan Fiala 25.11.2023 07:14
Jan Fiala
tvůj popis zůstává úspěšně nesrozumitelný. udělám vizualizaci za tebe, napiš nebo nakresli co je pod…
lední brtník 23.11.2023 23:26
lední brtník
Jo to je ono, akorát zdroj ADR2 nebude mít stejnou sestu jako ADR2 v cíli, akorát se bude jmenovat s…
Kůrokládos 24.11.2023 22:19
Kůrokládos

Zástupce si budeš muset vytvářet, ty nijak nezkopíruješ, protože je nemáš.
Můžeš použít třeba PowerShell, projít zdrojové složky a následně v cyklu vytvářet zástupce.
Nebo složku po složce, označit soubory a přes pravou myš nechat vytvořit zástupce

Osobně nechápu smysl takového počinu. Kdo a jak bude udržovat zástupce, když se změní obsah zdrojových složek?
Z jakého důvodu se to dělalo?

Pokud umíš vbs skript, lehká inspirace (třeba se ti vyplatí si to naprogramovat).

Rem Skript pro generaci novych Alb zastupcu.
Rem Postupne se projdou vsechny podadresare ve zdrojovem adresari.
Rem Pro kazdy podadresar se zalozi stejnojmenny podadresar v cilovem adresari.
Rem Pro kazdeho zastupce ve zdrojovem podadresari se v cilovem podadresari !!! pro každý soubor ve zdrojovem podadresari - nutné upravit !!!
Rem zalozi novy zastupce, ve kterem je zmeneno pismeno disku v odkaze.

Option Explicit

Dim goArgs, goShell, goFileSys, goFhLog
Dim goFldrZ, goFldrC
Dim gAdrParZ, gAdrParC, gPismeno
Const LogName = "AlbaZastupcuNova.log"

Set goArgs = WScript.Arguments
Set goShell = WScript.CreateObject("WScript.shell")
Set goFileSys = WScript.CreateObject("Scripting.FileSystemObject")

ZalozLog LogName

If Not ProchazeniAlb() Then
goFhLog.Writeline "Chyba - vypis nedokoncen"
End If

ZavriLog

Set goArgs = Nothing
Set goShell = Nothing
Set goFileSys = Nothing

Function ProchazeniAlb()

ProchazeniAlb = False

If goArgs.Count = 3 Then
gPismeno = goArgs.Item(0)
gAdrParZ = goArgs.Item(1)
gAdrParC = goArgs.Item(2)
Else
goFhLog.Writeline "Chyba - nejsou zadany adresare a pismeno"
Exit Function
End If

If Not goFileSys.FolderExists(gAdrParZ) Then
goFhLog.Writeline "Chyba - zdrojovy adresar neexistuje " & gAdrParZ
Exit Function
End If
If Not goFileSys.FolderExists(gAdrParC) Then
goFhLog.Writeline "Chyba - cilovy adresar neexistuje " & gAdrParC
Exit Function
End If
If Not ((gPismeno >= "A") And (gPismeno <= "Z")) Then
goFhLog.Writeline "Chyba - pismeno neni spravne " & gPismeno
Exit Function
End If

Set goFldrZ = goFileSys.GetFolder(gAdrParZ)
Set goFldrC = goFileSys.GetFolder(gAdrParC)

If Not Podadresare() Then
goFhLog.Writeline "Chyba - zpracovani podadresaru nedokonceno"
Exit Function
End If

ProchazeniAlb = True
End Function

Function Podadresare()

Dim oFset, oSubf
Dim SubfC

Podadresare = False
Set oFset = goFldrZ.SubFolders

For Each oSubf in oFset

SubfC = gAdrParC & "\" & oSubf.Name
goFileSys.CreateFolder(SubfC)
goFhLog.Writeline "A=" & SubfC

If Not Zastupci(oSubf, SubfC) Then
goFhLog.Writeline "Chyba - zpracovani zastupcu nedokonceno"
Exit Function
End If

Next

Podadresare = True
End Function

Function Zastupci(Byval PodadrZ, PodadrC)

Dim oFold, oFset, oFile
Dim oShellLink
Dim ZastupceZ, ZastupceC, Delka, NovyOdkaz

Zastupci = False
Set oFold = goFileSys.GetFolder(PodadrZ)
Set oFset = oFold.Files

For Each oFile In oFset
ZastupceZ = PodadrZ & "\" & oFile.Name
Set oShellLink = goShell.CreateShortcut(ZastupceZ)
NovyOdkaz = oShellLink.TargetPath
Delka = Len(NovyOdkaz)
NovyOdkaz = Right(oShellLink.TargetPath, Delka - 3)
NovyOdkaz = gPismeno & ":\" & NovyOdkaz
ZastupceC = PodadrC & "\" & oFile.Name
Set oShellLink = goShell.CreateShortcut(ZastupceC)
oShellLink.WindowStyle = 1
oShellLink.Description = ""
oShellLink.TargetPath = NovyOdkaz
oShellLink.Save
goFhLog.Writeline "Z=" & ZastupceC
Next

Zastupci = True
End Function

Sub ZalozLog(LogFile)

Set goFhLog = goFileSys.CreateTextFile(Logfile)
goFhLog.Close
Set goFhLog = goFileSys.OpenTextFile(Logfile, 2)

End Sub

Sub ZavriLog

goFhLog.Close

End Sub

Né že smažu soubor, vysunu disk, zástupce zůstane a v danné složce která není zástupce hned vidím cestu k médiu, ve složce je vidět "propojit cil", zopakuji, hned! Mj. zkoušel jsem i "do knihovny"... Tím to kosí vytvořením zástupců ze všeho.

tvůj popis zůstává úspěšně nesrozumitelný. udělám vizualizaci za tebe, napiš nebo nakresli co je podle tebe jinak:

 zdroj:             cíl:

\--adr1            \--adr1     
\    soubor1       \    1.lnk
\    soubor2       \    2.lnk
\--adr2            \--adr2     
\    soubor3       \    3.lnk
\    soubor4       \    4.lnk
\--adr3            \--adr3     
     soubor5            5.lnk

ve volných chvílích můžeš vysvětlit, k čemu to má být dobré.

Zpět do poradny Odpovědět na původní otázku Nahoru