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

Ordnerinhalt auflisten und Ordner auswählen

Frage Entwicklung Batch & Shell

Mitglied: Replica

Replica (Level 1) - Jetzt verbinden

19.09.2011, aktualisiert 18.10.2012, 3422 Aufrufe, 10 Kommentare

Hallo ihr,

hoffentlich könnt ihr mir weiterhelfen. Bin schon nah am Verzweifeln

Ich möchte... nein ich muss ... eine Batch schreiben, die mir in den Inhalt von einem Ordner auf der Partition F (nennen wir ihn einfach mal F:\Daten)
in der Console anzeigt (also quasi ein DIR /b) und mich dann im zweiten Schritt fragt welchen dieser Ordner ich kopieren möchte.

Vorteilhaft wäre es wenn allen vorhandenen Ordnern im Ordner F:\Daten bei der Ausgabe in der Console eine Nummer zugeordnet werden könnte.
So dass ich nachher bei der Auswahl der Ordner nur noch 1,2,3 .. oder was auch immer eingeben muss.


Beispiel (so wie es angezeigt werden soll):

---------------------------------------------------CMD.exe-------------------------------------------------

Inhalt des Ordners F:\Daten

(1) Programmierung
(2) Backup
(3 )Beispiel
(4)Temp
(5) IrgendeinOrdner


Welcher dieser Ordner soll nach E:\Testordner wiederhergestellt werden?

(1,2,3,...)

Habt ihr eine Idee?
Mitglied: Skyemugen
19.09.2011, aktualisiert 18.10.2012
Aloha,

abgesehen davon, dass solche Tüten hier schon vorgekommen sind ...

schreibe ich dir dennoch meine Idee:
for /f "tokens=1,* delims=:" %%s in ('dir /b F:\Daten /ad ^|findstr /n "^"') do echo (%%s) %%t

Dann noch ein wenig erweitern und rumspielen mit set /p und eventuell if oder doch die Suchfunktion bemühen und fertig ist der Chefsalat. achja, die wichtigen echos nicht vergessen

greetz André

edit: P.S: Beispielthread
Bitte warten ..
Mitglied: bastla
19.09.2011, aktualisiert 18.10.2012
... oder ein anderes Beispiel ...

Grüße
bastla
Bitte warten ..
Mitglied: 99045
19.09.2011 um 13:53 Uhr
wegen Desinteresse gelöscht
Bitte warten ..
Mitglied: Replica
19.09.2011 um 14:12 Uhr
*g* Danke André

aber...
kennt ihr das? Ihr seht den Text vor euch, aber kommt einfach nicht auf die Lösung?
Sorry, ich muss nochmal nachfragen, und ja ich habe mir schon die anderen Seiten angeschaut... auch die SuFu hab ich genutzt ;o)

Wie sage ich ihm jetzt dass ich (wenn ich z.B. 2 drücke) er sich den Ordner "zurechtlegen" soll damit ich ihn kopieren kann?
Mit anderen Worten wie kann ich dem XCOPY Befehl meine Auswahl übergeben?

Sorry ich seh gerad nur Bäume (und keinen Wald ^^)
Bitte warten ..
Mitglied: bastla
19.09.2011 um 14:53 Uhr
Hallo Replica!

Na dann schau mal, was passiert, wenn Du Skyes Vorschlag in einer späteren Zeile etwas erweiterst:
01.
for /f "tokens=1,* delims=:" %%s in ('dir /b F:\Daten /ad ^|findstr /n "^"^|findstr /b "%Nr%:"') do echo (%%s) %%t
Wie Du zwischenzeitlich zu einem Inhalt für die Variable %Nr% kommst, findest Du sicher selber raus ...

Grüße
bastla
Bitte warten ..
Mitglied: Replica
20.09.2011 um 08:47 Uhr
klasse

Danke an Skymugen und Bastla, ohne Euch wäre ich da nie drauf gekommen.
Und sorry an Kaputtnick, unsere Beitrage haben sich wohl überschnitten, trotzdem danke für deine Mühe

Hab das Ganze jetzt so gelöst

for /f "tokens=1,* delims=:" %%s in ('dir /b %Quelle% /ad ^|findstr /n "^"') do echo (%%s) %%t
echo.
echo Bitte geben Sie die Zahl des gewuenschten Ordners ein:
set /p "Auswahl="
echo %Auswahl%
for /f "tokens=1,* delims=:" %%s in ('dir /b %Quelle% /ad ^|findstr /n "^"^|findstr /b "%Auswahl%:"') do (
set ordner=%%t
Bitte warten ..
Mitglied: bastla
20.09.2011 um 09:38 Uhr
Hallo Replica!

Die (zweite) "for"-Zeile würde ich so
for /f "tokens=1,* delims=:" %%s in ('dir /b "%Quelle%" /ad ^|findstr /n "^"^|findstr /b "%Auswahl%:"') do set "ordner=%%t"
oder gleich so
for /f "tokens=1,* delims=:" %%s in ('dir /b "%Quelle%" /ad ^|findstr /n "^"^|findstr /b "%Auswahl%:"') do set "ordner=%Quelle%\%%t"
schreiben (sogar, wenn Du sicher bist, dass es keine Ordnernamen mit Leerzeichen gibt) ...

Wenn Du davor übrigens noch ein
set "Ordner="
einbaust, kannst Du danach mit zB
if not defined Ordner echo Kein Ordner gewaehlt! & goto :eof
noch sicher stellen, dass auch tatsächlich eine Auswahl getroffen wurde ...

Grüße
bastla

P.S.: Findest Du nicht auch, dass Code mit der passenden Formatierung (lässt sich auch problemlos nachträglich durchführen ) besser aussieht?
Bitte warten ..
Mitglied: Heimdal1311
07.03.2013 um 19:17 Uhr
Hallo Leute,

die erste Zeile

for /f "tokens=1,* delims=:" %%s in ('dir /b %Quelle% /ad ^|findstr /n "^"') do echo (%%s) %%t

funktioniert, sie Listet mir wie gewünscht den Inahlt eines Ordners auf und nummeriert ihn.


Jedoch passiert bei der zweiten Zeile

for /f "tokens=1,* delims=:" %%s in ('dir /b "%Quelle%" /ad ^|findstr /n "^"^|findstr /b "%Auswahl%:"') do set "ordner=%%t"

gar nichts. Ich schaffe es nicht, den Pfad des gewählten Ordners als Variable setzen.

Auch wenn ich am Ende noch ein

set "ordner="

setze, wird mir die Variable "ordner" nicht angezeigt.

Vorweg noch, ich bin ein Neuling. Wäre schön wenn ihr mir weiterhelfen könntet.
Bitte warten ..
Mitglied: bastla
07.03.2013, aktualisiert um 19:35 Uhr
Hallo Heimdal1311 und willkommen im Forum!

Schön, dass Du dieesn Beitrag gefunden hast - noch schöner wäre es, wenn Du auch den Weg zur (übrigens gleich oberhalb verlinkten) Formatierungsmöglichkeit für Quellcode entdeckt hättest ...

Bei mir funktioniert übrigens
01.
@echo off & setlocal 
02.
::Quellpfad mit \ am Ende 
03.
set "Quelle=D:\Test\" 
04.
 
05.
set "Ordner=" 
06.
for /f "tokens=1,* delims=:" %%s in ('dir /b "%Quelle%" /ad ^|findstr /n "^"') do echo (%%s) %%t 
07.
echo. 
08.
set /p "Auswahl=Bitte geben Sie die Zahl des gewuenschten Ordners ein: " 
09.
for /f "tokens=1,* delims=:" %%s in ('dir /b "%Quelle%" /ad ^|findstr /n "^"^|findstr /b "%Auswahl%:"') do set "Ordner=%Quelle%%%t" 
10.
if not defined Ordner echo Kein Ordner gewaehlt! & goto :eof 
11.
echo Gewaehlt: %Ordner%
problemlos.

Grüße
bastla
Bitte warten ..
Mitglied: Heimdal1311
09.03.2013 um 08:31 Uhr
Ja, du hast mein Problem gleich in der zweiten Zeile erkannt. Hab "\" vergessen.
Danke für die schnelle Antwort und entschulide die Formatierung.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Skript Ordnerinhalt auflisten und per E-Mail verschicken (2)

Frage von xbast1x zum Thema Batch & Shell ...

Batch & Shell
gelöst AD-Gruppen Auswahl als Dropdownliste (4)

Frage von Peterz zum Thema Batch & Shell ...

Entwicklung
Nested Groups auflisten (2)

Frage von easy4breezy zum Thema Entwicklung ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...