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 CD-Namen auslesen

Mitglied: Swenni2k

Swenni2k (Level 1) - Jetzt verbinden

05.02.2007, aktualisiert 20:21 Uhr, 3722 Aufrufe, 3 Kommentare

Hallo zusammen,

ich möchte von einem Client-PC mit XP Pro, CD's auf ein vordefiniertes Netzlaufwerk auf dem Server Windows 2003 kopieren. Dabei soll beim starten des Programmes der CD-Namen ausgelesen werden und somit in ein dafür erstelltes Netzlaufwerk die Dateien kopieren. Vorher soll natürlich rekursiv alle Dateien auf diesesm bzw. in diesem Netzwerkordner gelöscht werden. Muß idiotensicher sein, Praktikanten sollen nämlich einfach die CD'S einlegen und das Programm starten und den Rest erledigt das Programm!!

Grüße Swen

P.S.: Ich hoffe jmand kann mir helfen, bin nämlich schon ein BATCHen Neuling.
Mitglied: bastla
05.02.2007 um 15:46 Uhr
Hallo Swenni2k und willkommen im Forum!

Zwar ließe sich der Name über einen "dir"-Befehl herausfinden, aber in diesem Fall (und diversen anderen ) greife ich lieber zu VBScript bzw einer Kombination aus Batch und Script.

Zunächst zum Script:
01.
'GetReadyCDDrives.vbs 
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
Set dc = fso.Drives 
04.
out = "" 
05.
For Each d in dc 
06.
	If d.drivetype = 4 and d.IsReady Then 
07.
		If out <> "" Then 
08.
			out = out & vbCrLF & Chr(34) & d.VolumeName & Chr(34) & " " & d.DriveLetter & ":" 
09.
		Else 
10.
			out = Chr(34) & d.VolumeName & Chr(34) & " " & d.DriveLetter & ":" 
11.
		End If 
12.
	End If 
13.
Next 
14.
WScript.Echo out
Speichere dieses Script an einem passenden Ort (zB in "C:\Scripts") und sorge für Lesezugriff darauf.

Hinweis zum Ergebnis des Scripts: Der Name wird in Anführungszeichen eingeschlossen und der Laufwerksbuchstabe durch eine Leerstelle getrennt übergeben.

Bei Verwendung des folgenden Batches werden Name und Laufwerksbuchstabe aller in CD-Laufwerken befindlichen lesbaren CD/DVD (also etwa auch eines Brenners) in Systemvariable %CDName% und %CDDrive% gespeichert und ausgegeben (falls nicht gewünscht, "echo ..." entfernen). Einschränkung: Sind in mehreren Laufwerken CD oder DVD eingelegt, werden die Informationen nur für das Letzte gespeichert (ausgegeben werden aber alle).

01.
@echo off 
02.
for /f "tokens=1,2" %%i in ('cscript //nologo C:\Scripts\EnumerateReadyCDDrives.vbs') do (set "CDName=%%~i") & (set CDDrive=%%j) & echo %%~i - %%j
In weiterer Folge kann dann mit diesen Variablen weitergearbeitet werden, zB
01.
xcopy /s /y /i %CDDrive%\*.* "\\Server\Freigabe\%CDName%"
Grüße
bastla

[Edit] Pfad "C:\Scripts" korrigiert (Text und Batch stimmen jetzt überein) [/Edit]
[Edit2] ":" wird jetzt immer vom Script ausgegeben, muss nicht im Batch eingesetzt werden [/Edit2]
Bitte warten ..
Mitglied: Swenni2k
05.02.2007 um 17:27 Uhr
Hallo bastla,

vielen Dank ersteinmal für die schnelle Antwort, hast Du irgendein HOWTO oder eine gute Seite , die mir mal erklärt was Du da alles gemacht hast und wie ich mir in Zukunft helfen kann, Du kannst ja nicht Tag und Nacht für mich da sein .
Ein kleiner Fehler war drinne, nach "%CDDrive%" im xcopy befeht fehlt ein ":", aber sonst sehr geil!!

Grüße Swenni2K

Und vielleicht noch etwas, die freigegebenen Verzeichnisnamen kann ich nicht ändern, sonst müßte ich das auch an allen Clients tun, ist es auch möglich, das ich sage, wenn es "CD1" ist (ein Strings vergleichen?) dann kopiere (und lösche vorher) alles in Netzlaufwerk \\Tolle-Wurst, ist es "CD2" dann kopiere (und lösche vorher) alles in Netzlaufwerk \\Prima_Ballarihna.

Kann ich auch eine Log erzeugen mit >log.txt in der alles was passiert ist drinne steht und das als email an mich senden?

DANKE SCHON MAL
Bitte warten ..
Mitglied: bastla
05.02.2007 um 20:21 Uhr
Hallo Swenni2k!

Mit dem ":" hattest Du teilweise recht - bei nur einem passenden CD-Laufwerk fehlte er leider - hab's jetzt oben so geändert, dass das Script immer eine vollständige Laufwerksangabe liefert - daher im Batch entfernen (man/frau/kind muss sich das Leben ja nicht unnötig schwer machen ).

Vergleichsoperatoren in Batch kannst Du mit "if /?" anzeigen lassen - hier könnte das so aussehen (ich hoffe, ich habe Dich richtig verstanden):
01.
if [%CDName%]==[CD1] (set "UNC=\\Tolle-Wurst\Freigabe") & goto :DoIt 
02.
if [%CDName%]==[CD2] (set "UNC=\\Prima_Ballarihna\Freigabe") & goto :DoIt 
03.
... 
04.
goto :eof 
05.
:DoIt 
06.
del /q "%UNC%\*.*" 
07.
for /f "delims=" %%i in ('dir /b /ad "%UNC%"') do rd /s /q "%%i" 
08.
xcopy /s /y /i "%CDDrive%\*.* "%UNC%" 
09.
goto :eof
Wenn die CD-Namen nicht direkt verwendet werden können (wie ich's oben versucht hatte), musst Du eben für jede Einzelne eine entsprechende Zeile schreiben.

Ganz kurz: "goto :eof" beendet einen Programmteil (bei einem mit "call" aufgerufenen Unterprogramm steht es für "Return").

Die Schleife für's "rd" soll alle Verzeichnisse aus dem Netzlaufwerk entfernen, indem zunächst nur Verzeichnisse aufgelistet und diese einzeln abgearbeitet werden.

Loggen mit Umleitung der Ausgabe ">>Log.txt" kannst Du im Prinzip überall (durch Anhängen an Befehle oder selbst erstellte Ausgaben mit "echo"), wobei sich für die Logdatei auch eine Variable anbietet (Wartbarkeit). Der Unterschied zwischen ">" und ">>" wird Dir sicher schon bekannt sein (oder sehr bald ).

Mehr Zeit habe ich gerade nicht, daher Status "alles ungetestet" ...

HOWTO oder eine gute Seite
Schau Dich im Forum um - vor allem wo Biber draufsteht, ist Gutes drin (zB Tutorials) - und ansonsten üben, üben, üben, ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Datei Name und Pfad auslesen mit FSO Objekt

gelöst Frage von Gimli3311VB for Applications3 Kommentare

Hallo Zusammen, ich möchte gerne den Dateinamen und den Pfad von der Datei jeweils in zwei Variablen speichern. Ich ...

Batch & Shell

Seriennummer auslesen und als PC Namen hinterlegen und in Domäne aufnehmen

gelöst Frage von lordofremixesBatch & Shell9 Kommentare

Hallo zusammen, wie kann ich folgende Befehle per Batch miteinander verknüpfen? Get-WmiObject -Class Win32_BIOS > Liest u.a. die Seriennummer ...

Batch & Shell

Interface-Namen auslesen, in Variable einspeichern und weiterverwenden

gelöst Frage von d4shoerncheNBatch & Shell3 Kommentare

Moin Kollegen, ich bräuchte mal Eure Hilfe. Ich habe eine kleine Batch-Datei, mit der ich statische Routen auf einem ...

Microsoft

Unendlicher Ordnerpfad server share name name name name usw ist entstanden

gelöst Frage von DerWoWussteMicrosoft18 Kommentare

Ein Freitagsschmunzler: Ein Kollege hatte einen Ordner Projekt1 in seinem Homelaufwerk (Netzlaufwerk auf einem 2008R2-Fileserver). Nun fand sich neben ...

Neue Wissensbeiträge
Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 10 MinutenWindows 10

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 14 StundenVideo & Streaming2 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 1 TagErkennung und -Abwehr

Servus Kollegen, downloadbar unter

Windows Update

Microsoft Patchday Juni 2018 - BSOD, obwohl noch kein Patch freigegeben

Erfahrungsbericht von diemilz vor 1 TagWindows Update4 Kommentare

Hallo zusammen, wir hatten hier letzte Woche ein massives Problem. Alles begann damit, dass ein Mitarbeiter kurz vor Feierabend ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell Netzwerkdrucker auflisten
gelöst Frage von schiggi85Batch & Shell18 Kommentare

Hallo zusammen, ich möchte mit dem invoke-command bei einem remoteclient die installierten Netzwerkdrucker des Users abfragen. Nur klappt das ...

Outlook & Mail
Nachweis des Löschens einer Email nach DSGVO in Outlook
Frage von linuxadmOutlook & Mail18 Kommentare

Hallo Forum, wie wahrscheinlich viele von Euch kämpfe ich mit der Umsetzung der DSGVO bei meinen Kunden. Konkret geht ...

CPU, RAM, Mainboards
ASUS P5W DELUXE startet nur manchmal und nur mit 2 GraKas
Frage von Windows10GegnerCPU, RAM, Mainboards17 Kommentare

Hallo, ich habe das o.g. Motherboard erhalten. Egal ob C2D 8400, Pentium D 945 oder P4 670, das teil ...

IDE & Editoren
36883? Keio hh2 friend friend m (dot)
Frage von xyxb3mIDE & Editoren13 Kommentare

; @ @ @ Keio hh2 hh2 friend friend; into into;; %; ;