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

Batch gesucht

Frage Entwicklung Batch & Shell

Mitglied: joman78

joman78 (Level 1) - Jetzt verbinden

29.06.2010 um 15:25 Uhr, 2758 Aufrufe, 8 Kommentare

hi,

brauche dringend hilfe

folgende situation

habe einen ordner c:\bb mit ca 400 unterordner drin weiterhin habe ich einen ordner c:\pdf wo ein test.pdf drin ist nun soll dieses pdf
in alle 400 unterordner in c:\bb rein kopiert werden.

ich hab null ahnung also eine ausführliche hilfe am besten mit den datei namen würde mir helfen
Mitglied: BigWim
29.06.2010 um 16:05 Uhr
das in eine Dosbox kopieren und wenn die Pfade richtig sein, dass @echo weglassen

01.
for /f %a in ('dir u: /ad /s /b') do @echo copy x:\test.pdf %a\test.pdf
Bitte warten ..
Mitglied: bastla
29.06.2010 um 16:21 Uhr
@BigWim
Soferne die 400 Unterordner auch noch Unter-Unterordner hätten, gäbe es ein paar Kopien mehr ...

... daher als (ungetestete) Alternative (ebenfalls zur Direkteingabe in der CMD-Shell):
for /d %a in (c:\bb\*.*) do @echo copy c:\pdf\test.pdf "%a\"
... und übrigens: Willkommen im Forum, joman78!

Grüße
bastla
Bitte warten ..
Mitglied: joman78
29.06.2010 um 16:22 Uhr
und wo trag ich meine pfade hier ein kannst du es vielleicht mit meinen beispiel daten nochmal schreiben
Bitte warten ..
Mitglied: BigWim
29.06.2010 um 16:30 Uhr
Hallo Bastla,

danke für die Verbesserung. Mit dem for /d habe ich es zuerst probiert, aber nicht hinbekommen. Der Wert in den (..) wurde mir immer mit ausgegeben.

Jetzt habe ich wieder einen kleinen Ansatz

Markus
Bitte warten ..
Mitglied: joman78
29.06.2010 um 16:32 Uhr
hallo bastla,

danke für den wilkommens gruß und du bist mein held
ich dachte schon ich muss verzweifeln aber dank dir hab ich mir geschätze 4 stunden arbeit gespart

@BigWim
dir auch danke
Bitte warten ..
Mitglied: BigWim
30.06.2010 um 08:34 Uhr
Zitat von BigWim:
Mit dem for /d habe ich es zuerst probiert, aber nicht hinbekommen.
Stimmt gar nicht. Ist gelogen.

Wer lesen kann, ist klar im Vorteil.

Ich hatte es mit /R probiert, was am Ergebnis (zuviele Kopien) nichts geändert hätte. Aber die Ausgabe ist m. E. unbrauchbar gewesen, bzw. ich hätte noch etwas mehr tun müssen ...

Ich werde als noch etwas forschen müssen!

Markus



for /R %a in () do @echo %a
= keine Ausgabe

for /R %a in (u:\) do @echo %a
= diese Ausgabe:

U:\anwendungsdaten\Microsoft\u:\
U:\anwendungsdaten\Microsoft\Abfragen\u:\
U:\anwendungsdaten\Microsoft\AddIns\u:\
U:\anwendungsdaten\Microsoft\Excel\u:\
U:\anwendungsdaten\Microsoft\Excel\XLStart\u:\
U:\anwendungsdaten\Microsoft\HTML Help\u:\
U:\anwendungsdaten\Microsoft\Internet Explorer\u:\
U:\anwendungsdaten\Microsoft\Office\u:\
U:\anwendungsdaten\Microsoft\Office\Zuletzt verwendet\u:\
Bitte warten ..
Mitglied: Biber
30.06.2010 um 09:08 Uhr
Moin BigWim,

Ich werde als noch etwas forschen müssen!
Okay, dann mal zwei bis vier Tipps dazu...

  • die FOR /R-Anweisung ("/R" ist logischerweise die Insider-Abkürzung für "schräg runterrödeln") erlaubt und erwartet einen Parameter unmittelbar nach dem "/R", der angibt von welchen Verzeichnis/Knoten/Anker/Root aus denn begonnen werden sollte. Diesen Parameter unbedingt nutzen. notfalls durch Eingabe von "." (=aktuelles Verzeichnis) als Parameter.

--> würde bedeuten: aus deinem [for /R %a in (u:\) do @echo %a] würde geradegerückt ein [for /R "u:\" %a in ...].

  • Wenn der Wurzelknoten aber nun schon in diesem Parameter erwartet wird, dann wird er in der Klammer keinen Sinn machen.

--> würde bedeuten: aus deinem [for /R %a in (u:\) do @echo %a] ist jetzt schon ein [for /R "u:\" %a in (whatever) do @echo %a] geworden

  • Und nun das, was der letzte nötige Hint ist: es funktioniert nur "wie erwartet", wenn in der Klammer eine Suchwildcard steht.

Demo (mit meinen Pfaden)
01.
>for /r "D:\temp" %a in (whatever) do @echo %a 
02.
D:\temp\whatever 
03.
D:\temp\$logs\whatever 
04.
 
05.
>for /r "D:\temp" %a in (whatever?) do @echo %a 
06.
 
07.
 
08.
>for /r "D:\temp" %a in (*.txt) do @echo %a 
09.
D:\temp\wemdas.txt 
10.
D:\temp\WemdasAuswertung.txt
--> wenn ich ab Verzeichnis "D:\temp" schräg runterrödeln lasse nach "whatever" ( OHNE Wildcard-Angabe "*" oder "?")
-----> gibt es nicht, Ausgabe sind aber alle durchgenudelten Verzeichnisse gefolgt vom Namen "whatever".
-----> [Das hätte niemand so erwartet... ist aber so implementiert. --> In der Regel unbrauchbar, meiden!!]

--> wenn ich ab Verzeichnis "D:\temp" schräg runterrödeln lasse nach "whatever?" oder "whatever*"
-----> Datei(en) "whatever?" gibt es nicht---> KEINE Ausgabe--> Richtiges Ergebnis

--> wenn ich ab Verzeichnis "D:\temp" schräg runterrödeln lasse nach "*.txt"
-----> Datei(en) *.txt gibt es immer --> werden wie erwartet angezeigt.

Fröhliches Weitertesten
Biber
Bitte warten ..
Mitglied: BigWim
30.06.2010 um 09:26 Uhr
Moin Biber,

Zitat von Biber:
Okay, dann mal zwei bis vier Tipps dazu...

Unter Tipps habe ich bisher im Winks mit dem Zaunpfahl verstanden
Ich sag mal: VIELEN DANK für die ausführliche Erklärung!

Ein motivierter Tester
Bitte warten ..
Neuester Wissensbeitrag
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Batch & Shell
Batch erweiterung gesucht (7)

Frage von Data61 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Netzwerkmanagement
Benachrichtigungstool gesucht - unter 50 Euro (4)

Frage von sojos zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...