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
Kommentar vom Moderator Biber am 17.01.2011 um 06:30:06 Uhr
Zitat von majcho:
Möchte gerne den 2 Wert nach einem Suchstring aus Dateien als Variable zum Umbennen/Kopieren...
Set / rgc+=1
#722
GELÖST

Text mit Findstr suchen und als Variable zum Kopieren derselben Datei nutzen

Frage Entwicklung Batch & Shell

Mitglied: majcho

majcho (Level 1) - Jetzt verbinden

17.01.2011, aktualisiert 18.10.2012, 6497 Aufrufe, 7 Kommentare

Möchte gerne den 2 Wert nach einem Suchstring aus Dateien als Variable zum Umbennen/Kopieren derselben Dateien übergeben.

Hier mein Versuchscode, der nicht funktioniert:

FOR /F "delims=" %%i in ('dir /b "C:\*.txt"') do (
for /f "tokens=2" %%g in (findstr "Suchstring: " %%i) do (copy %%i %%g.txt) )

Kann mir jemand mit dem richtigen Code helfen?

Soeben bemerkt, diese ungelöste Frage: Aus Fragmenten einer Textdatei eine neue Textdatei erzeugen bzw. das original bearbeiten geht in die selbe Richtung.


[Edit Biber] Link auf Permalink geändert [/Edit]
Mitglied: rubberman
17.01.2011 um 01:01 Uhr
Hallo majcho.

Schwer zu sagen woran es liegt.
Ersetze mal copy durch echo und prüfe ob
- Leerzeichen in den Dateinamen vorkommen
- Zeichen im neuen Dateinamen vorkommen, die verboten sind ( \ / : * ? " < > | )
- Zeichen im neuen Dateinamen vorkommen, die maskiert werden müssen ( & ^ )

Grüße
rubberman
Bitte warten ..
Mitglied: 60730
17.01.2011 um 10:50 Uhr
Auch dir den Gruß deiner Wahl

Wenn man in einer For Schleife eine weitere For Schleife hat, dann???


enabledelayedexpansion?
%%
!!

Für was hat sich eigentlich jemand die Mühe mit der Schleifenanleitung gemacht?

Grußlos
Bitte warten ..
Mitglied: majcho
17.01.2011 um 11:15 Uhr
@echo off &setlocal enabledelayedexpansion
hatte ich gesetzt. Wo finde ich die Schleifenanwendung?
Bitte warten ..
Mitglied: 60730
17.01.2011, aktualisiert 18.10.2012
Zitat von majcho:
@echo off &setlocal enabledelayedexpansion
hatte ich gesetzt.
Und warum nutzt du dann %% statt !!
Wo finde ich die Schleifenanwendung?
Keine Ahnung - aber wenn du unter Anleitungen suchst .....

btw: Wenn ich (oder jemand anderes) schreibt auch dir keinen Gruß deiner Wahl, ist das eine höfliche Aufforderung.....
Und wenn Biber in seinem B Bereich lediglich seinen Counter setzt und nicht wie sonst üblich länger mit der Problematik befasst...
dann ist entweder Montag oder jemand in Bremen hat eine Vorahnung
Bitte warten ..
Mitglied: majcho
17.01.2011 um 14:44 Uhr
Habe das Tutorial zur FOR-Schleife gefunden, jedoch geht das Tutorial nicht auf die Verschachtelung bzw. die Nutzung des doppelten !! ein.

FOR /F "delims=" %%i in ('dir /b "C:\*.txt"') do (
for /f "tokens=2" %%g in ('findstr "Suchstring:" %%i') do (copy %%i %%g.txt) )

Irgendwie ist ein Fehler im Befehl findstr, welcher?
Bitte warten ..
Mitglied: rubberman
17.01.2011 um 18:55 Uhr
Hallo Zusammen.

@T-MO
Ich kann keinen Grund entdecken, warum hier ein DelayedExpansion angebracht wäre. Es wird ausschließlich mit den Laufvariablen der Schleifen gearbeitet. Hmm...

@majcho
Vielleicht solltest du das Wort Suchstring: mal mit deinem tatsächlichen Suchstring ersetzten.
Ansonsten einfach mal meinen Tipps und dem von T-MO verlinkten "@echo off" folge leisten.

(auch keine Grüße)
rubberman
Bitte warten ..
Mitglied: majcho
18.01.2011 um 10:51 Uhr
So endlich habe ich es gelöst, so funktioniert der code:

@echo off &setlocal enabledelayedexpansion  
 
echo ----------------------------------- 
FOR /F "delims=" %%i in ('dir /a-d /b /s "C:\Users\User\Documents\*.txt"') do ( 
FOR /f "tokens=2" %%j in ('FINDSTR "Suchstring" "%%~i"') do copy %%i %%j.txt)
[Edit Biber] Codeformatierung geradegezogen. [/Edit]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...