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

Variablen aus Txt datei erstellen

Mitglied: Ghost-7K

Ghost-7K (Level 1) - Jetzt verbinden

30.09.2014, aktualisiert 10:54 Uhr, 1015 Aufrufe, 3 Kommentare

Guten Tag die Damen und Herren,

ich sitze gerade daran für meine Firma ein batch zur Sicherung von Disketten (Dies ist kein Witz) zu erstellen.

Bisher sieht das jetzt wie folgt aus:

01.
 
02.
@echo off 
03.
:start 
04.
@echo off 
05.
 
06.
set Speicherort=%1%\\\SERVER\001 Kunststoff-ServerDisketten_Sicherung\ 
07.
 
08.
@echo Geben Sie den Namen des Kundens an bei Doppelnamen untersrich verwenden: Beispiel: Sedus_Boettner 
09.
@echo off  
10.
set /p Kunde= 
11.
@echo Genem Sie die Artikelnummer bzw Artikelbezeichnung und Werkzeugnummer ein, falls nicht vorhanden tippen Sie bitte 0 ein: Beispiel 992008_0 (Artikelnummer/ Artikelbezeichnung_Werkzeugnummer) 
12.
@echo off 
13.
set /p Werkzeug= 
14.
@echo Geben Sie die Maschine an auf welcher die Diskette erstellt wurde. Achten Sie dabei auf die Einhaltung der Namen: 35to, 75to, 125to, 170to, 175to, 250to, 330to, 420to. 
15.
@echo off 
16.
set /p Maschine= 
17.
 
18.
@echo off 
19.
set count=0 
20.
for %%i in (A:\*) do set /a count+=1 
21.
if "%count%"=="0" goto Fehler1 
22.
goto Kopier 
23.
 
24.
:Kopier 
25.
mkdir \\SERVER\001 Kunststoff-ServerDisketten_Sicherung\%Kunde%\%Werkzeug%\%Maschine%\%date%\ 
26.
xcopy A: \\SERVER\001 Kunststoff-ServerDisketten_Sicherung\%Kunde%\%Werkzeug%\%Maschine%\%date%\ 
27.
 
28.
 
29.
 
30.
@echo off 
31.
set count=0 
32.
for %%i in (\\SERVER\001 Kunststoff-ServerDisketten_Sicherung\%Kunde%\%Werkzeug%\%Maschine%\%date%\*) do set /a count+=1 
33.
if "%count%"=="0" goto Fehler 
34.
goto Erfolg 
35.
 
36.
:Erfolg 
37.
 
38.
echo msgbox"Ihre Diskette wurde erfolgreich übertragen",vbInformation , "Diskettenstatus"> %temp%\msg.vbs  
39.
 
40.
%Temp%\msg.vbs  
41.
 
42.
erase %temp%\msg.vbs 
43.
 
44.
goto Ende 
45.
 
46.
 
47.
:Fehler 
48.
 
49.
echo msgbox"Ihre Diskette wurde nicht übertragen",vbInformation , "Diskettenstatus"> %temp%\msg.vbs  
50.
 
51.
%Temp%\msg.vbs  
52.
 
53.
erase %temp%\msg.vbs 
54.
 
55.
goto Ende 
56.
 
57.
:Fehler1 
58.
echo msgbox"Ihre Diskette wurde nicht übertragen da keine Diskette vorhanden ist",vbInformation , "Diskettenstatus"> %temp%\msg.vbs  
59.
 
60.
%Temp%\msg.vbs  
61.
 
62.
erase %temp%\msg.vbs 
63.
 
64.
goto Ende 
65.
 
66.
:Ende 
67.
 
68.
Exit 
69.
 
Datei eins:

01.
 
02.
Goto Indexssuche 
03.
:Ende 
04.
@echo Der Prozess ist jetzt beendet, Sie können das Programm nun beenden 
05.
Pause 
06.
@echo off 
07.
:Indexerweiterung 
08.
:Indexssuche 
09.
@echo Geben Sie den gesuchten Kundennamen ein 
10.
@echo off 
11.
set /P wort=Suche nach Kunde: 
12.
find /I "%wort%" logbuch.txt 
13.
 
14.
if errorlevel 1 GOTO Kundeanlegen 
15.
 
16.
if errorlevel 0 echo Bitte wählen Sie nun das Entsprechnde Werkzeug aus der Liste aus oder Suchen Sie per Eingabe 
17.
goto Werkzeugliste 
18.
 
19.
 
20.
goto Ende 
21.
 
22.
:Kundeanlegen 
23.
@echo Ihr Kunde wurde nicht gefunden, Sie können nun einen neuen Kunden anlegen Oder X drücken um das Programm zu verlassen. 
24.
@echo Geben Sie den Namen des Kundens an bei Doppelnamen untersrich verwenden: Beispiel: Sedus_Stoll 
25.
@echo off  
26.
set /p Kundeneu= 
27.
echo >> %Kundeneu%.txt 
28.
@echo  
29.
Pause 
30.
 
31.
:Werkzeugliste  
32.
@echo Hier findet sich die Suchroutine für die Werkzeugabfrage 
33.
Rem wertabfrage(dateispeicherortabfgrage aus der datei logbuch.txt)für die entprechende Kundenkennung 
34.
Rem wenn dateiabfrage erfolgreich dann zeige die Datei als Liste an oder ermögliche dem Nutzer die Datei nach einem Namem/Nummer zu durchsuchen 
35.
for /f "tokens=1,* delims=:" %%i in ('findstr /n  $ /Kunden/%wort%.txt') do @(  
36.
02. 
37.
        for /L %%a in (2,2,6) do @if %%i==%%a @echo %%j  
38.
03. 
39.
40.
 
41.
 
42.
 
43.
 
44.
Pause
Mir ist bewusst das die Pfadangabe in Datei1 noch nicht stimmt. Jedenfalls ist jetzt mein Problem jenes das ich den Speicherort für die Jeweiligen Diskettensicherungen aus einem Index auslesen möchte, dieser wird erstellt mit den Parametern aus der 1. Datei:
01.
 \\SERVER\001 Kunststoff-ServerDisketten_Sicherung\%Kunde%\%Werkzeug%\%Maschine%\%date%\
Das schreiben ist weniger das Problem, ich muss nur den Speicherort aus der %Kunden%.txt auslesen können, das wäre im grunde alles.

Es wäre super wenn Ihr mir helfen könntet.

Gruß

Ghost-7k

Mitglied: ITvortex
30.09.2014 um 10:54 Uhr
Hi,

bitte mit Codetags versehen <code>.....
Bitte warten ..
Mitglied: Ghost-7K
30.09.2014 um 10:58 Uhr
Ist erledigt, danke für den Hinweiß

Gruß

Ghost-7k
Bitte warten ..
Mitglied: Friemler
30.09.2014, aktualisiert um 16:25 Uhr
Hallo Ghost,

wenn ich Dich richtig verstanden habe, geht es darum, die Variablen %Kunde%, %Werkzeug%, %Maschine% und %date% aus einer Textdatei einzulesen.

Das kann man so machen:
01.
@echo off & setlocal 
02.
 
03.
for /f "usebackq tokens=1-4 delims=;" %%a in ("KundenDaten.txt") do ( 
04.
  call :ProcessData "%%a" "%%b" "%%c" "%%d" 
05.
06.
 
07.
exit /b 
08.
 
09.
 
10.
 
11.
:ProcessData 
12.
  set "Kunde=%~1" 
13.
  set "Werkzeug=%~2" 
14.
  set "Maschine=%~3" 
15.
  set "Dat=%~4" 
16.
 
17.
  :: Daten verarbeiten 
18.
  :: ... 
19.
exit /b
wobei KundenDaten.txt die einzulesende Datei ist, in der für jeden Datensatz eine Zeile enthalten sein muss, die einzelnen Felder durch Semikola getrennt (Parameter delims=;).

Damit die Belegung der Variablen im Unterprogramm ProcessData stimmt, müsste ein Datensatz nach dem Schema
<Kunde>;<Werkzeug>;<Maschine>;<Datum>
aufgebaut sein.

Das Unterprogramm wird für jeden Datensatz aufgerufen. Die Verarbeitung sollte in einem Unterprogramm und nicht innerhalb der FOR-Schleife erfolgen, weil Du sonst wahrscheinlich Probleme mit der verzögerten Variablenerweiterung bekommen würdest.

Falls die Datensätze irgendwelche Zeichen enthalten, die von Batchscript als Steuerzeichen bzw. zum Sprachumfang gehörend betrachtet werden (z.B. &, %, <, >, |), kann es zu Problemen kommen.

Die KundenDaten.txt muss mit der Zeichencodierung / Codepage OEM 850 abgespeichert werden, sonst werden evtl. enthaltene deutsche Umlaute falsch eingelesen.

Tipp: Vermeide die Verwendung einer Variablen namens %Date%, das ist eine Standard-Variable von Batchscript und enthält das aktuelle Systemdatum.

Gruß
Friemler
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell: Variablen aus .txt Dateien heraus ausgeben

gelöst Frage von TobiasedBatch & Shell5 Kommentare

Hallo Community, ich möchte gern wissen ob es möglich ist, eine Variable in Powershell zu definieren, die Abfrage dieser ...

Batch & Shell

Powershell - zeilenweise Variablen aus TXT Datei einlesen

gelöst Frage von adm2015Batch & Shell12 Kommentare

Hallo, ich habe folgendes Problem. Ich möchte meinen alten Batch Code in Powershell verwenden und finde keinen passenden Lösungsansatz. ...

PHP

TXT Datei auslesen und bestimmte Zeilen in Variable setzen

gelöst Frage von 126594PHP11 Kommentare

Hallo zusammen, vorweg muss ich sagen, ich bin (bis jetzt) absoluter Neuling was PHP angeht. Ich will aus einer ...

Batch & Shell

In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei

gelöst Frage von donnyS73lbBatch & Shell6 Kommentare

Hallo zusammen, ich möchte fragen, ob es - wie bspw. bei VBScript - auch mit einer Batchdatei möglich ist, ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 15 StundenWindows 103 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 18 StundenAdministrator.de Feedback14 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...