Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Beliebigen Ordner wählen per Batch

Frage Entwicklung Batch & Shell

Mitglied: Alme123

Alme123 (Level 1) - Jetzt verbinden

04.01.2013 um 12:12 Uhr, 2642 Aufrufe, 11 Kommentare

Hallo zusammen,

ich verzweifle gerade an dem oben genanntem Problem.

Eine BatchDatei soll eine MusikDatei in einen beliebigen UnterOrdner in C:\Musik kopieren.

Die Anzahl der UnterOrdner variert.

Danke im Vorraus.

Alme123

Ps.: Muss weg, deshalb ist die Frage nicht so umfangreich
Mitglied: Nr60730
04.01.2013 um 12:34 Uhr
Zitat von Alme123:
Ps.: Muss weg, deshalb ist die Frage nicht so umfangreich

Bitte warten ..
Mitglied: Alme123
04.01.2013 um 13:22 Uhr
@Nr60730

eine Antwort darauf hast du aber nicht.

Alme123
Bitte warten ..
Mitglied: Nr60730
04.01.2013 um 18:23 Uhr
Zitat von Alme123:
@Nr60730

eine Antwort darauf hast du aber nicht.

Wie du lesen kannst, sogar zwei.

Aber du haettest ja die zeit gehabt mal naeher auf dein problem einzugehen, statt mir zu unterstellen ich wuedre mich nur an fragen beteiligen, fuer deren antwort ich keine portentielle losung haette.

Und du suchst doch nach ner loesung?

Alme123

ich
Bitte warten ..
Mitglied: bastla
04.01.2013, aktualisiert um 21:39 Uhr
Hallo Alme123!

Um eine MusikDatei D:\MusikDatei.mp3 in einen beliebigen UnterOrdner in C:\Musik zu kopieren könntest Du etwa so vorgehen:
01.
@echo off & setlocal 
02.
set "Datei=D:\Musik.mp3" 
03.
set "Basis=C:\Musik" 
04.
 
05.
for /f "delims=:" %%i in ('dir /b/ad "%Basis%"^|findstr /n "^"') do set /a Anzahl=%%i 
06.
set /a Nr=%random% %% Anzahl + 1 2>nul || goto :eof 
07.
for /f "tokens=1* delims=:" %%i in ('dir /b/ad "%Basis%"^|findstr /n "^"^|findstr /b "%Nr%:"') do set "Ordner=%%j" 
08.
echo copy "%Musik%" "%Basis%\%Ordner%\"
Das "echo" in der letzten Zeile ist zum Testen da ...

Grüße
bastla
Bitte warten ..
Mitglied: Alme123
04.01.2013, aktualisiert um 22:03 Uhr
@bastla

Wie immer: Auf den Punkt genau und fast richtig.

- Statt copy "%Musik%" "%Basis%\%Ordner%\" , copy "%Datei%" "%Basis%\%Ordner%\" schreiben.
- Die Unterordner im Ordner haben auch UnterOrdner, die auch manchmal ausgewählt werden, aber in den Variablen %Basis%\%Ordner%\ wird nicht der ganze Pfad zum UnterUnterOrdner angezeigt.

Alme123

[Edit: Problem hinzugefügt]
Bitte warten ..
Mitglied: bastla
04.01.2013, aktualisiert um 21:57 Uhr
Hallo Alme123!

Das kommt vom "Verschönern" des Codes beim Posten - natürlich sollte es die gleiche Variable wie in Zeile 2 sein ...

BTW und zum Thema "Verschönern": Wenn das Test-"echo" nicht mehr benötigt wird, würde ich die letzte Zeile so schreiben:
copy "%Datei%" "%Basis%\%Ordner\%">nul
Grüße
bastla
Bitte warten ..
Mitglied: Alme123
04.01.2013 um 22:00 Uhr
@bastla

in der Zwischenzeit oberen Beitrag erneuert.

Alme123
Bitte warten ..
Mitglied: bastla
04.01.2013, aktualisiert um 22:05 Uhr
Hallo Alme123!

Wenn alle Unterordner einbezogen werden sollen, dann so:
01.
@echo off & setlocal 
02.
set "Datei=D:\Musik.mp3" 
03.
set "Basis=C:\Musik" 
04.
 
05.
for /f "delims=:" %%i in ('dir /s/b/ad "%Basis%"^|findstr /n "^"') do set /a Anzahl=%%i 
06.
set /a Nr=%random% %% Anzahl + 1 2>nul || goto :eof 
07.
for /f "tokens=1* delims=:" %%i in ('dir /s/b/ad "%Basis%"^|findstr /n "^"^|findstr /b "%Nr%:"') do set "Ordner=%%j" 
08.
copy "%Datei%" "%Ordner%\">nul
Grüße
bastla
Bitte warten ..
Mitglied: Alme123
04.01.2013, aktualisiert um 22:18 Uhr
@bastla

Kleiner Fehler: Statt set "Ordner=C:\Musik" , set "Ordner=C:\Musik\" , sonst sucht er nur im aktuellen Verzeichnis.

Alme123
Bitte warten ..
Mitglied: bastla
04.01.2013, aktualisiert um 22:51 Uhr
Hallo Alme123!

Kann ich nicht nachvollziehen (funktioniert bei mir - getestet unter XP), aber es spricht auch nix gegen Deine Schreibweise (bis auf die Tatsache, dass die Variable Basis heißen sollte ) ...

Grüße
bastla
Bitte warten ..
Mitglied: Alme123
05.01.2013 um 08:11 Uhr
@bastla

Ist schon richtig, nach einem Neustart gings richtig.

Alme123

{Theard closed]
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...