Top-Themen

Aktuelle Themen (A bis Z)

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 Suche in Batch

Mitglied: 30407

30407 (Level 1)

23.05.2006, aktualisiert 24.05.2006, 5221 Aufrufe, 12 Kommentare

Hi,

ich würde gerne ein Batchprogramm schreiben,
1. ....dass nach einem bestimmten Ordner sucht.
2. Wenn dieser Ordner vorhanden ist sich selbst als Kopie darin ablegt.

Ist das in einer Batch möglich ?
Mitglied: n.beetz
23.05.2006 um 22:33 Uhr
Hallo,

na willst Du einen kleinen Virus schreiben?

Muss es denn eine Batch sein oder gehen auch WScript?

Gruß

Norbert
Bitte warten ..
Mitglied: Biber
24.05.2006 um 09:26 Uhr
Moin,
vielleicht geht es mit WScript schneller, aber als Batch lässt es sich schneller Formulieren....

01.
... 
02.
for /R d:\ %%i in (.) do @if /i [%%~ni]==[GesuchtesDir] @ECHO copy %%~dpnx0 %%~dpni
Der Parameter nach dem "for /R" kann ein bestimmtes Laufwerk "C:\" , "E:\"... oder halt das aktuelle ("\") sein.
Das @ECHO ist nur zum Testen - Zum Scharfmachen das "@ECHO" löschen.
Test am CMD-Prompt:
01.
 
02.
(= 9:25:01  D:\temp=) 
03.
>for /R d:\ %i in (.) do @if /i [%~ni]==[backup1] @echo copy mein.bat %~dpni 
04.
copy mein.bat d:\temp\Backup1
Hope That Helps
Biber
Bitte warten ..
Mitglied: 30407
24.05.2006 um 11:32 Uhr
Hi

bei dem Code:
<Code>
for /R d:\ %%i in (.) do @if /i [%%~ni]==[GesuchtesDir] copy %%~dpnx0 %%~dpni
<Code>

muss ich doch nur "GesuchtesDir" durch den Namen der Datei ersetzen (z.B. test), oder ?
Jedoch kam bei immer Fehlermeldungen, das das System das Verzeichnis nicht finden kann !
Woran liegt das ?
Bitte warten ..
Mitglied: Biber
24.05.2006 um 11:57 Uhr
Uups, sorry,

diesmal hatte ich ein Prozentzeichen zuviel in der Batch-Variante:

also bitte ein schlichtes %~dpnx0 statt %%~dpnx0
01.
for /R d:\ %%i in (.) do @if /i [%%~ni]==[GesuchtesDir] copy %~dpnx0 %%~dpni
(Kommt vom Posten ungetesteter Schnipsel....ich wollte es mir eigentlich abgewöhnen.
so wie das Rauchen und das Fluchen...*grmbl*)

Gruß
Biber
Bitte warten ..
Mitglied: 30407
24.05.2006 um 12:57 Uhr
Hi,
sry aber der neue Code:
<Code>
for /R d:\ %%i in (.) do @if /i [%%~ni]==[test²] copy %~dpnx0 %%~dpni
<Code>

funktioniert auch nicht. Neue Fehlermeldung : Syntaxfehler.

² für den Ordner test

Gruss Inkognitar
Bitte warten ..
Mitglied: Biber
24.05.2006 um 13:06 Uhr
Merkwürdig...hier mein Test:
01.
 
02.
(=13:04:29  E:\=) 
03.
>type f:\Administrator\Inkognitar.bat 
04.
@for /R d:\ %%i in (.) do @if /i [%%~ni]==[backup1] ECHO copy %~dpnx0 %%~dpni 
05.
 
06.
(=13:04:51  E:\=) 
07.
>f:\Administrator\Inkognitar.bat 
08.
copy f:\Administrator\Inkognitar.bat d:\temp\Backup1
???
Biber
[Edit] Aaaaaaaaaber: Wenn der Zielordner fürs Copy "c:\Dokumente und Einstellungen\..." heißt, dann gibts Syntaxfehler.
01.
@for /R d:\ %%i in (.) do @if /i [%%~ni]==[backup1] ECHO copy %~dpnx0 "%%~dpni"
-->Zielpfad in Anführungszeichen setzen wegen Leerzeichen.
[/Edit]
Bitte warten ..
Mitglied: 30407
24.05.2006 um 13:27 Uhr
Hi,

also eigentlich heisst, der Pfad C:\Test --> keine Anführungszeichen nötig.
Außerdem bin ich jetz ganz durch einander : Brauch man nun ein "@" Symbol vor "For" oder nicht ? Auch dachte ich, ich sollte @echo löschen. ?!
Also habe ich folgendes ausprobiert:
<Code>
@echo off
@for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] echo copy %~dpnx0 %%~dpni
<Code>

In der Konsole erchien dann:

copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Dokumente und Einstellungen\Besitzer\Eigene Dateien\ChessBase\Test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\MeineProjekte\test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Programme\Techland\Chrome\JavaChromeGame\NetModule\Objects\Test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Programme\Techland\Chrome\JavaChromeGameNet\NetModule\Objects\Test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Programme\Valve\Steam\SteamApps\SourceMods\Halloween\materials\models\test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Programme\Valve\Steam\SteamApps\SourceMods\Halloween\models\test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\Programme\Valve\Steam\SteamApps\SourceMods\metastasis\materials\test
copy C:\Dokumente und Einstellungen\Besitzer\Desktop\suche.bat c:\test

Jedoch fand ich in keinem, suche.bat ! Woran liegt das ?

Edit: Mit "%%~dpni" hat es auch nicht funktioniert.
Bitte warten ..
Mitglied: Biber
24.05.2006 um 13:59 Uhr
Na, Inkognitar,
verwirren wollte ich Dich nicht, also:

a) Das "@" vor einem CMD-Befehl unterdrückt nur dessen ECHO-Anzeige.
Wenn Du also eine @FOR..IN..DO-Anweisung abschickst vom CMD-Prompt aus, wird die Anweisung selbst NICHT noch mal angezeigt.

Teste mal am CMD-Prompt
for %i in (1,2,3) do echo %i
-und-
for %i in (1,2,3) do @echo %i

..dann siehst Du den Unterschied.

b) Der von mir gepostete Schnipsel macht ja auch kein "copy ..von...nach..", sondern nur eine Simulation "ECHO copy ..von...nach.."
Lösche dieses Wort ECHO, dann funktioniert es.

Gruß
Biber
Bitte warten ..
Mitglied: 30407
24.05.2006 um 15:21 Uhr
Hi,

sry aber wenn ich aus dem Code:
<Code>
@echo off
@for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] echo copy %~dpnx0 %%~dpni
<Code>

das echo weglösche:
<Code>
@echo off
@for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] copy %~dpnx0 %%~dpni
<Code>

kommt wieder die fehlermeldung: Syntaxfehler.
cmdausgabe:

Syntaxfehler.
Syntaxfehler.
Syntaxfehler.
Syntaxfehler.
Syntaxfehler.
Syntaxfehler.
Syntaxfehler.
Syntaxfehler.

gruss Inkognitar
Bitte warten ..
Mitglied: Biber
24.05.2006 um 15:42 Uhr
Siehe oben: numm den letzten von mir in einem Kästchen stehenden Oneliner.
Den, wo der Copy-Zielparameter in Hochkommata steht:
01.
@echo off 
02.
for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] copy %~dpnx0 "%%~dpni"
Der Syntaxfehler kommt von Zielverzeichnissen mit Leerzeichen im Verzeichnisnamen.
Ehrlich

Biber
Bitte warten ..
Mitglied: 30407
24.05.2006 um 16:24 Uhr
Hi,

ich habe es nochmal mit den Anführungszeichen probiert:
<Code>
@echo off
for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] copy %~dpnx0 "%%~dpni"
<Code>

jedoch kam wieder die Syntaxfehlermeldung. Kann es sein das "C:\Dokumente und Einstellungen\Besitzer\..." falsch ist, sondern C:\Dokumente" "und" "Einstellungen\Besitzer lauten müsste und daher der Compiler es nicht versteht ? Jedoch müsste er dann eigentlich bei C:\test keine Probleme haben, aber genau da hat er auch den Syntaxfehler gemeldet.

Edit: Es muss an "Dokumente und Einstellungen" liegen, das er die bei C:\test nicht funktioniert liegt, woll daran das sich suche.bat auf dem Desktop befindet und damit im Verzeichnis C:\Dokumente und Einstellungen\Besitzer\Desktop ist. ==> Pfad von suche.bat muss auch in "".

Edit2: Ich habe es geschafft ! Vollständige Lsg:
@echo off
for /R c:\ %%i in (.) do @if /i [%%~ni]==[test] copy "%~dpnx0" "%%~dpni"

Edit3: Ich hätte noch eine Frage: Kann ich die batch datei in dem gefunden verzeichnis unter einem anderen Namen abspeichern und unter verschiedenen Namen im gefundenen Verzeichnis mehrmals speichern ?
Bitte warten ..
Mitglied: Biber
24.05.2006 um 18:04 Uhr

Dass die *.bat-Datei selbst auf dem Desktop liegen könnte...darauf bin ich natürlich auch nicht gekommen. Aber dann wären -wie Du auch selbst geschrieben hast- die Anführungszeichen der richtige Weg.

Wenn Die Bat-Datei einen neuen Namen bekommen soll, dann:
01.
::----------snipp Inkognitar.bat 
02.
for /R c:\ %%i in (.) do @if /i [%%~ni]==[whatever] ECHO copy "%~dpnx0" "%%~dpni\NeuerBatName.bat" 
03.
:: --------snapp Inkognitar.bat
-->löst auf zu:
01.
copy "c:\Dokumente und Einstellungen\Administrator\Desktop\Inkognitar.bat"  "c:\Im abgelegenen Verzeichnis\whatever\NeuerBatName.bat"
Gruß und schönes Wochenende
Biber
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Suchen und ersetzen als Batch oder VBA
gelöst Frage von ZinedineEntwicklung22 Kommentare

Hallo, bin hier neu im Forum und ein absoluter Laie was Programmierung betrifft Habe deswegen auch ein großes für ...

Batch & Shell

Batch zum suchen und verschieben von Dateien

gelöst Frage von zeroblue2005Batch & Shell5 Kommentare

Guten Tag Zusammen, ich benötige eine Batch, die folgendes kann: 1. Suche in bestimmten Dateipfad nach nach Dateien eines ...

Batch & Shell

Batch, Suche der Nummer in der Datei!

Frage von SportiiiBatch & Shell8 Kommentare

Hallo, mir wurde bereits durch jodel32 sehr geholfen es fehlt nur ein kleines Stück: Folgendes: Wenn ich eine Nummer ...

Batch & Shell

Dateien aus CSV mit Batch suchen

gelöst Frage von joes1609Batch & Shell5 Kommentare

Hallo zusammen, ich stehe gerade auf dem Schlauch. Ich habe eine CSV-Datei, in der stehen zusammengesetzt, jeweils ein kompletter ...

Neue Wissensbeiträge
Windows Server
Erneutes Release von WS2019 und Win10 v1809
Tipp von IT-Pro vor 23 MinutenWindows Server

Hi, nachdem der Windows Server 2019 und Windows 10 in der Version 1809 aufgrund von verschwinden von Dateien nach ...

CPU, RAM, Mainboards
Spectre Update Tool für ältere PCs
Information von sabines vor 3 StundenCPU, RAM, Mainboards2 Kommentare

Mit Hilfe eines Tools wird der betreffende PC permanent von einem USB Stick gestartet, der ein passendes Microcode Update ...

Windows 10
Windows 10 Oktober 2018 Update: Es ist wieder da
Tipp von Bowsette vor 11 StundenWindows 101 Kommentar

Ein neuer Versuch von Microsoft das Windows 10 Oktober 2018 Update, auch bekannt als 1809, an den Mann zu ...

Windows Server

Windows Server 2016: Achtung - ab heute gibt es wieder Express Updates

Information von kgborn vor 22 StundenWindows Server1 Kommentar

Kurze Info für Administratoren, die Windows Server 2016 per WSUS/SCCM mit Updates betanken. Ab heute gibt es für Windows ...

Heiß diskutierte Inhalte
Microsoft Office
Lizenzierung
Frage von opc123Microsoft Office29 Kommentare

Hallo, eventuell ein oft bekanntes Thema. Office 365 ist mir zu teuer, da wir als Bildungsträger andere Konditionen beim ...

Windows 10
Windows 10 mit CRITICAL PROCESS DIED
Frage von liquidbaseWindows 1028 Kommentare

Das aktuelle Problem was ich habe steht bereits im Threadtitel. Etwas mehr zum Hintergrund soll nun folgen. Problemkind ist ...

Windows Server
Windows Server 2016 Lizenzierung - 7 Hyper V VMs
Frage von staybbWindows Server18 Kommentare

Hallo zusammen, wir haben zwei HP Server gekauft mit jeweils pro Server 2 CPUs à 10 Cores. Also insgesamt ...

Windows Server
WIE ?? Server 2016 2x RDP welche das gleiche sehen können wie VNC
Frage von ChrisXYWindows Server12 Kommentare

Hallo, aktuell habe ich Windows10 welches wohl zu Server2016 wechseln wird. Aktuell habe ich eine Video Überwachungssoftware welche per ...