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, 2751 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
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

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

Frage von Data61 zum Thema Batch & Shell ...

LAN, WAN, Wireless
Software für Backup oder Datensynchronisation über WAN gesucht (3)

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

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

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

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...