Opgelost Bestanden kopieeren naar map van de Samsung S23 Ultra

Dit topic is als opgelost gemarkeerd

Bram65

Gebruiker
Lid geworden
25 feb 2023
Berichten
219
Beste
De vraag geeft exact aan wat ik zou willen bereiken.
In een macro wordt een map met zo'n 7000 MP3's doorlopen, deze staan op de PC.
Gecontroleerd wordt op de .DateLastModified van de mp3's.
Verschilt deze minder dan 3 dagen met de huidige datum dan moet deze mp3 naar de GSM worden gekopieerd.
Het is dan een mp3 die nieuw is of een waar aanpassingen op zijn gedaan.

Wanneer ik in Windows verkenner deze s23 in een nieuw venster open dan is de link ervan Deze pc\S23 Ultra van SHJ van
En dat kun je dus niet zomaar benaderen.

Iemand een oplossing?
 
Ga in de adresbalk van de Verkenner staan, tik in CMD en druk op de Enter toets.
Dit opent een command window waarin je precies kan zien waar je dan bent.
Misschien dat dat duidelijkheid geeft.
 
Laatst bewerkt:
Oke Edmoor, top.
Wanneer ik in verkenner naar D:\tmp surf en tik dan CMD in wordt idd een dosvenster geopend met
Microsoft Windows [Version 10.0.26200.8655]
(c) Microsoft Corporation. Alle rechten voorbehouden.

D:\tmp>

Wanneer ik dit doe wanneer ik op de GSM naar de map music ben gesurft dan geeft CMD dit aan:
Microsoft Windows [Version 10.0.26200.8655]
(c) Microsoft Corporation. Alle rechten voorbehouden.

C:\Windows\System32>

Maar ook op de netwerklocatie van mijn NAS \\DS1815\Bram geeft ie dit aan
'\\DS1815\Bram'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.
Microsoft Windows [Version 10.0.26200.8655]
(c) Microsoft Corporation. Alle rechten voorbehouden.

C:\Windows>

Mogelijk een ander idee?
 
Probeer eens dit in de Verkenner:
Code:
\\naam van je pc\S23 Ultra van SHJ van
Anders zou ik het verder ook niet weten.
 
Geeft de melding Geen toegang, helaas.

Ik denk dat het niet mogelijk is, nog niet 1 topic gevonden wat er maar in de buurt komt.
Toch dank voor het meedenken.
 
Probeer het eens met Map Network Drive.
Dan krijg je een driveletter.
Misschien dat je er dan bij kan.

1782314342309.webp
 
Ik heb de vraag eens aan Claude voorgelegd. Of het allemaal klopt, geen idee.
  • Normale map (D:\tmp) → CMD opent daar correct
  • NAS via UNC (\DS1815\Bram) → CMD ondersteunt geen UNC-paden, valt terug naar C:\Windows
  • GSM via MTP → valt terug naar C:\Windows\System32, want MTP heeft helemaal geen echt pad in het bestandssysteem
MTP is geen echt schijfstation het is een virtuele interface, onzichtbaar voor CMD, FSO en de meeste normale bestandsoperaties.

De meest robuuste oplossing: ADB (Android Debug Bridge)
ADB praat rechtstreeks met de telefoon via USB, omzeilt MTP volledig, en is wél benaderbaar vanuit VBA via Shell.

Stap 1 — ADB installeren
Download van: https://developer.android.com/tools/releases/platform-tools
Uitpakken naar bijv. C:\adb\

Stap 2 — USB Debugging inschakelen op S23
Instellingen → Info over telefoon → Softwaregegevens → tik 7x op Buildnummer → Ontwikkelaarsopties → USB-foutopsporing = AAN

Stap 3 — VBA macro met ADB
Code:
Sub KopieerNieuweMP3sNaarGSM_ADB()

    Dim sADB        As String
    Dim sMapMP3s    As String
    Dim sGSMMap     As String
    Dim oFSO        As Object
    Dim oFolder     As Object
    Dim oFile       As Object
    Dim dGrens      As Date
    Dim nGekopieerd As Long
    Dim sCmd        As String
    Dim sLogBestand As String

    ' === INSTELLINGEN ===
    sADB      = "C:\adb\adb.exe"               ' Pad naar adb.exe
    sMapMP3s  = "C:\MijnMuziek\"               ' Map met MP3's op PC
    sGSMMap   = "/sdcard/Music/"               ' Doelmap op GSM (Android-pad)
    sLogBestand = "C:\adb\kopie_log.txt"       ' Logbestand
    dGrens    = Now() - 3                       ' Grens: 3 dagen geleden
    ' ====================

    Set oFSO = CreateObject("Scripting.FileSystemObject")

    ' Controleer of ADB bestaat
    If Not oFSO.FileExists(sADB) Then
        MsgBox "ADB niet gevonden op: " & sADB, vbCritical
        GoTo Opruimen
    End If

    ' Controleer of de GSM verbonden is
    Dim sTestCmd As String
    sTestCmd = sADB & " devices"
    Shell "cmd /c " & sTestCmd & " > C:\adb\devices.txt 2>&1", vbHide
    Application.Wait Now() + TimeValue("00:00:02")

    Dim sDevices As String
    Dim iFile As Integer
    iFile = FreeFile
    Open "C:\adb\devices.txt" For Input As #iFile
    Dim sRegel As String
    Do While Not EOF(iFile)
        Line Input #iFile, sRegel
        sDevices = sDevices & sRegel
    Loop
    Close #iFile

    If InStr(sDevices, "device") = 0 Or InStr(sDevices, "List of devices") = InStr(sDevices, "device") Then
        MsgBox "Geen GSM gevonden via ADB!" & vbCrLf & _
               "Controleer USB-debugging en de USB-verbinding.", vbCritical
        GoTo Opruimen
    End If

    ' Loop door MP3's en kopieer recente bestanden
    Set oFolder = oFSO.GetFolder(sMapMP3s)
    nGekopieerd = 0

    ' Open logbestand
    Dim iLog As Integer
    iLog = FreeFile
    Open sLogBestand For Output As #iLog
    Print #iLog, "Kopie log - " & Now()
    Print #iLog, String(40, "-")

    For Each oFile In oFolder.Files
        If LCase(oFSO.GetExtensionName(oFile.Path)) = "mp3" Then
            If oFile.DateLastModified >= dGrens Then

                ' Bouw ADB push commando
                ' Spaties in bestandsnaam opvangen met aanhalingstekens
                sCmd = Chr(34) & sADB & Chr(34) & " push " & _
                       Chr(34) & oFile.Path & Chr(34) & " " & _
                       Chr(34) & sGSMMap & oFile.Name & Chr(34)

                ' Uitvoeren via CMD
                Shell "cmd /c " & sCmd & " >> " & Chr(34) & sLogBestand & Chr(34) & " 2>&1", vbHide

                Print #iLog, "Gekopieerd: " & oFile.Name & " (" & _
                             Format(oFile.DateLastModified, "dd-mm-yyyy hh:mm") & ")"
                nGekopieerd = nGekopieerd + 1

                ' Korte pauze tussen bestanden
                Application.Wait Now() + TimeValue("00:00:01")
            End If
        End If
    Next oFile

    Print #iLog, String(40, "-")
    Print #iLog, "Totaal gekopieerd: " & nGekopieerd
    Close #iLog

    MsgBox nGekopieerd & " MP3('s) gekopieerd naar de S23 Ultra." & vbCrLf & _
           "Log: " & sLogBestand, vbInformation

Opruimen:
    Set oFile   = Nothing
    Set oFolder = Nothing
    Set oFSO    = Nothing

End Sub
 
Wow, Peter. Dat ziet er veelbelovend uit. Ik ga daar morgen mee aan de slag en laat weten.
Om dat nu snel te doen lijkt me niet goed, vandaar morgen.
Het is in ieder geval een bijzonder duidelijke uitleg, waarvoor nogmaals dank.
 
Als het niet lukt dan don't shoot this messenger.
 
Zeker niet, ben al blij dat er suggesties komen.
Maar helaas, dit werkt niet goed, ik krijg de melding dat de GSM niet wordt gevonden via ADB.
Op de GSM zijn de instellingen succesvol aangepast

EDIT
Ik kan gewoon met verkenner de GSM aan, dus de verbinding is ok
 
Dit was het antwoord dat Claude gaf.
Helemaal onderaan werd er ook nog een vraag gesteld.

Het probleem is waarschijnlijk de ADB autorisatie — de eerste keer dat ADB verbinding maakt, moet je dit goedkeuren op de telefoon zelf.
Laten we dit stap voor stap testen:

Stap 1 — Test ADB manueel in CMD
Open CMD (gewoon via Startmenu) en typ:
C:\adb\adb.exe devices

Je krijgt één van deze resultaten:
ResultaatBetekenis
List of devices attached (leeg eronder)GSM niet herkend
xxxxxxxx **unauthorized**Nog niet goedgekeurd op GSM
xxxxxxxx **device**✅ Werkt correct

Stap 2 — Als je unauthorized ziet
Op de S23 verschijnt een popup:
"RSA-vingerafdruk toestaan voor deze computer?"
Tik op Toestaan (eventueel "Altijd toestaan voor deze computer" aanvinken)
Daarna opnieuw:
C:\adb\adb.exe devices

Stap 3 — Als hij leeg blijft
Probeer dan:
C:\adb\adb.exe kill-server
C:\adb\adb.exe start-server
C:\adb\adb.exe devices

Stap 4 — Controleer de USB-modus op de S23
Sleep het notificatiescherm omlaag op de telefoon en tik op de USB-melding. Zorg dat het staat op:
Bestandsoverdracht of MTP
⚠️ Niet op "Alleen opladen" — dan werkt ADB wel maar bestandstoegang niet.


Wat zie je als je adb devices manueel uitvoert in CMD?
 
Ik zie nu de onderste uit jouw voorbeeld, xxxxxxxx **device**
ik heb even de code op zich niet meegegeven, weet niet of dat kwaad kan.

Moet wel zeggen dat dit pas was nadat ik op de GSM nog toestemming had gegeven.

Ik heb daarna de code opnieuw gestart en nu worden de bestanden naar de S23 weggeschreven.
Ik krijg tenminste die melding in mijn userform, ik kan dat over twee dagen controleren omdat alle mp3's er gisteren pas zijn opgezet. Ik ga ervan uit dat het goed is gegaan.
Op de GSM kan ik via de app naar de map met mp3's.
Maar in mijn Windows Verkenner is de GSM niet meer te benaderen en staat er Deze map is leeg, wat dus niet zo is. Kijken of dat nog zo is nadat ik de PC herstart heb.

Zo, de PC herstart en de GSM opnieuw toegang gegeven. Nu is die in de Verkenner weer zichtbaar.
Ik zal dadelijk een mp3 1 seconde inkorten, dan kan ik op de GSM, aan de datum van wijzigen zien of het echt werkt.
 
Laatst bewerkt:
Dus het begint ergens op te lijken???
 
Nou, het ziet er wel erg goed uit. Ben ervan overtuigd dat jouw code door anderen ook gebruikt zal gaan worden. ik wil jou maar natuurlijk ook Edmoor, erg bedanken.
 
Nou, de code en tips & tricks komen absoluut niet van mij, maar van AI Claude.
Zelf heb ik daar helemaal geen verstand van.
 
Maar je hebt TS er wel mee geholpen :)
 
Dat is waar maar jij hebt de voorzet gegeven.
 
Niemand weet alles, maar samen komen we er wel :)
 
TOP, werkt als een tierelier. Normaal koppel je de GSM en geef aan dat de verbinding tbv bestandsbeheer is. Nu moet je eerst ook nog toestemming geven. Geen probleem maar wel doen anders vindt de code de GSM niet. Ik ga er een slotje opzetten en nogmaals dank.
 
Terug
Bovenaan Onderaan