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

find und move kombieren

Frage Entwicklung Batch & Shell

Mitglied: marwin

marwin (Level 1) - Jetzt verbinden

08.06.2006, aktualisiert 09.06.2006, 4254 Aufrufe, 4 Kommentare

Hallo,

ich möchte mit dem find- oder findstr-befehl und move-befehl kombinieren und dabei Dateien des gleichen Typs in einen anderen Ordner verschieben.
Mit find will ich die Dateien nach einer Zeichenfolge durchsuchen und die gefunden Dateien mit einem move befehl verschieben.
Wie stelle ich das an, die befehle einzeln sind kein Problem nur beide zusammen bekomme ich nicht hin.
Einfache Batchdateien sind kein Thema, nur von for, if usw. hab ich keine Ahnung.

Vielen Dank
Mitglied: 11078
08.06.2006 um 22:21 Uhr
[EDIT]
------UUUpsss! Sorry, habe nachträglich gemerkt, dass es um Windows geht. Na ja, da kannst Du trotzdem auch mit | arbeiten. ----
[/EDIT]

Hallo,

ist jetzt nur am Reißbrett überlegt:

Befehle verbindest Du mit dem Zeichen: | Der Output des einen Befehls wird dann an den nächsten weiter gegeben. Etwa so:

find -iname *\.php | less

"find" sucht alle Dateien mit der Endung php und less sorgt dafür, dass nicht einfach tausende am Bildschirm an mir vorbei rutschen sondern ich durch die Ergebnisse scrollen kann...

Das ist das eine. Allerdings weiß ich nicht - und kann es gerade auch nicht testen - ob es sich so einfach mit einem move Befehl verbinden lässt, denn: Im beispiel werden an less ja nicht die einzelnen gefundenen Dateinamen als string übergeben sondern die ganze Liste auf einmal...

Lies Dich mal in "Pipes" ein:
http://de.wikipedia.org/wiki/UNIX_pipes#Unix
http://www.bellevuelinux.org/pipes.html



Vielleicht hat noch jemand eine Idee.


Gruß,
Tim
Bitte warten ..
Mitglied: marwin
08.06.2006 um 23:45 Uhr
hallo

erstmal danke für die schnelle Antwort
ja ich arbeite mit Windows, deshalb muss ich mich erstmal entschuldigen

also mit .... find /I "@@" c:\neu\*.txt .... kann ich mir anzeigen lassen in welcher datei @@ vorkommt, also nicht im dateinamen sondern im text selbst
und mit ... >>log.txt ... auch in eine logdatei schreiben lassen ...

die sieht dann zb. so aus:

C:\NEU\SCHEDLGU.TXT

C:\NEU\SEGMENT1.TXT
@@

C:\NEU\SEGMENT2.TXT

C:\NEU\SEGMENT3.TXT
@@

C:\NEU\SEGMENT4.TXT

C:\NEU\SEGMENT5.TXT


jetzt stehen da natürliche alle dateien drin die durchsucht werden, hilft nicht viel
mit | less bekomme ich fehler: befehl falsch geschrieben oder konnte nicht gefunden werden

dachte man könne das in einer for-schleife einbauen .....
zb. mit:

@ECHO OFF
@for /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set SICDATE=%%d-%%c-%%b
@for /R %%e in (.) do copy %%e\*.txt c:\neu

kann ich mir alle txt-dateien mit akuellem datum in einen ordner kopieren lassen, oder hab ich da einen denkfehler. kann auch gut sein dass es mit einer batch nicht funktioniert und man muss es mit vbs,java oder php realisieren
Bitte warten ..
Mitglied: Biber
09.06.2006 um 09:44 Uhr
Moin marwin,

ganz klar ist mir noch nicht, nach welchem Kriterium Du nun verschieben willst... nach aktuellem Datum oder enthaltenem Suchtext...

Nehmen wir erstmal den Suchtext:
Wenn ich alle *.txt-Dateien im aktuellen Verzeichnis nach dem String "Biber" durchsuchen will und diejenigen nach "c:\temp\biberfound" verschieben, die den String enthalten, dann:
01.
for /f %i in ('dir /b *.txt') do @type %i|find /i "Biber">nul && Echo Move %i c:\temp\biberfound\%i 
02.
 
03.
[würde führen zu...] 
04.
Move Temp-Dokument.txt c:\temp\biberfound\Temp-Dokument.txt 
05.
-oder noch einfacher- 
06.
for %i in (*.txt) do @type %i|find /i "Biber">nul && Echo Move %i c:\temp\biberfound\%i
Das "Echo" ist natürlich nur zur Simulation und muss zum Scharf-Machen gelöscht werden.

Falls ich Dich falsch verstanden habe, formulier bitte Deine Anforderung nochmal um.

Gruß
Biber
Bitte warten ..
Mitglied: marwin
09.06.2006 um 13:31 Uhr
tach Biber

nee hast mich richtig verstanden, möchte nach Zeichenfogen in Dokumenten suchen, dass mit dem Datum war nur ein Beispiel.
Werde es mal testen und gebe Info wenn es funktioniert bzw ob ich es hin bekomme.

Danke und Gruß
Marwin


edit

habe gestestet, bekomme Fehler .... "do" ist syntaktisch an dieser Stelle nicht verarbeitbar usw.
ist für mich doch ein schwieriger als ich gedacht hab .....

edit
Bitte warten ..
Ähnliche Inhalte
Linux
gelöst Find Ausgabe in formatierte text Datei umleiten (5)

Frage von MadM4x zum Thema Linux ...

Festplatten, SSD, Raid
CloneZilla Mac HDD - Unable to find target Partition (5)

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

Windows Update
Move Microsoft WSUS Content (1)

Link von Mvinogradac zum Thema Windows Update ...

C und C++
gelöst Cmake "Could NOT find Boost" library unter Windows (2)

Frage von Aicher1998 zum Thema C und C ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (16)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (13)

Frage von sysbone zum Thema Zusammenarbeit ...

Windows 7
Freeware MSI Tool (12)

Frage von uridium69 zum Thema Windows 7 ...