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 Batch-Datei zum Schreiben von Zahlen in eine txt-Datei

Mitglied: mopsi007

mopsi007 (Level 1) - Jetzt verbinden

31.12.2010, aktualisiert 23:53 Uhr, 5854 Aufrufe, 4 Kommentare

Hi! Ich hab mich noch nie mit Batchprogrammen beschäftigt, bin auch was das Programmieren betrifft, nicht so der Könner. Aber ich hab ein Problem: Ich will was in einer bestimmten Reihenfolge ausdrucken (eine Bedienungsanleitung) und da das über 400 Seiten sind hatte ich folgende Idee: Seite 1 und 2 auf die Vorderseite des Blattes und 3 und 4 auf die Rückseite des Blattes, dann wieder Seite 5 und 6 auf die Vorderseite des nächsten Blattes und so weiter (gedruckt soll im Querformat werden).
Ich hab kein Tool gefunden, das so drucken kann und auch mein Canon Drucker unterstützt das nicht direkt. Man kann nur einzelne Seiten eingeben, durch Beistriche getrennt.
Es geht jetzt genau um diese Zahlenwerte für einen (einseitigen) Druckdurchlauf. Also bei 418 Seiten müssten da stehen 1,2,5,6,9,10,13,14 usw.
Für den zweiten Durchlauf (Rückseite der bereits bedruckten Blätter) müssten dann die Seiten 3,4,7,8,11,12,15,16 gedruckt werden.

Wie schaffe ich es, eine txt Datei zu erstellen (mit Hilfe einer Batch Datei) wo obig beschriebene Zahlen ohne Leerzeichen und ohne Zeilenumbrüche in je einem Block stehen, sodass man einfach mit copy-paste die Zahlen, jeweils durch Beistriche getrennt, in das Druckerprogramm kopieren kann.

Die Zahlen und die Beistriche hab ich geschaft, aber ich habs nicht geschaft, den Zeilenumbruch rauszubekommen.

Mein bisheriges Batch (besser gesagt der erste Durchlauf, für den 2. Durchlauf hab ich ein 2. Batch gemacht):

@echo off
cls
set /p start=Erste Seite:
set /p ende=Letzte Seite:
set /a counter=%start%-1
set /a subcounter=0

:loop
set /a counter+=1
set /a subcounter+=1
if %subcounter%==1 goto weiter
if %subcounter%==2 goto weiter
echo %counter%,>>Seiten2.txt

:weiter
if %subcounter%==4 set subcounter=0
if %counter%==%ende% goto end
goto loop

:end
pause


Vielleicht weiss wer was!

Danke
Mitglied: rubberman
01.01.2011 um 00:09 Uhr
Hallo mopsi007!

01.
@echo off &setlocal enabledelayedexpansion 
02.
set /a seiten=418 
03.
 
04.
for /l %%a in (1,1,%seiten%) do ( 
05.
  set /a "n=(%%a + 3) %% 4" 
06.
  if !n! leq 1 set "vor=!vor!%%a," 
07.
  if !n! geq 2 set "rueck=!rueck!%%a," 
08.
09.
 
10.
>seiten.txt echo %vor:~,-1% 
11.
>>seiten.txt echo %rueck:~,-1% 
12.
 
Happy New Year an alle
rubberman
Bitte warten ..
Mitglied: mopsi007
01.01.2011 um 00:42 Uhr
Boa VIELEN DANK, unglaublich, ich hab gedacht ich werd mit dem Problem alt werden, weil ich hab ganz viel im Internet gesucht, auch hier.

Also die Lösung hat nichts mit dem zu tun, was ich bisher von Batchprogrammen gekannt habe, so mit Schleifen und so. Das ist schon ziemlich komplex in meinen Augen.


Ich danke dir !!

HAPPY NEW YEAR an alle!!
Bitte warten ..
Mitglied: rubberman
01.01.2011 um 02:39 Uhr
Hallo mopsi007 und (bevor ich's wieder vergesse) willkommen im Forum.

Dann erkläre ich dir noch ein paar Dinge, damit du auch verstehst wie es funktioniert.

Das SETLOCAL ENABLEDELAYEDEXPANSION sorgt dafür, dass Umgebungsvariablen innerhalb einer Zeile oder eines Blocks immer zum aktuellen Wert aufgelöst werden. Dabei werden die Variablennamen in Ausrufezeichen, statt in Prozentzeichen gefasst.

Die FOR /L Schleife weist der Laufvariablen eine inkrementierte (oder auch dekrementierte) Abfolge von numerischen Werten zu. Der Klammerausdruck bedeutet dabei (Start,Schritt,Ende). Für dein Beispiel also: Angefangen bei 1 immer um 1 inkrementiert, bis 418 erreicht ist.

Die nächste Zeile (5) ist die eigentlich interessante.
Die Modulofunktion mit dem Operator % (im Batch %%) gibt den Rest einer Division wieder. Da es sich bei dir immer um eine Abfolge von 4 Seiten handelt (2 auf Vor- und 2 auf Rückseite), ist der Divisor 4. Die Variable n hat also immer den Wert des Rests, der nur zwischen 0 und 3 liegen kann.
(1 + 3) / 4 = 1 ... Rest 0
(2 + 3) / 4 = 1 ... Rest 1
(3 + 3) / 4 = 1 ... Rest 2
(4 + 3) / 4 = 1 ... Rest 3
(5 + 3) / 4 = 2 ... Rest 0
(6 + 3) / 4 = 2 ... Rest 1
usw.

Nun musst du nur noch prüfen, ob n kleiner oder gleich 1 ist (Vorseite), bzw. größer oder gleich 2 (Rückseite) und die entsprechende Variable (vor bzw. rueck) um den aktuellen Wert der Laufvariablen %%a und ein Komma erweitern.

Hoffe das hilft.

Grüße
rubberman
Bitte warten ..
Mitglied: mopsi007
02.01.2011 um 01:15 Uhr
Vielen Dank für die Erklärungen, werd mich mal intensiver reinhauen, find das ziemlich spannend, was man so mit Batch alles machen kann.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Größe einer Datei per BATCH in eine TXT schreiben

gelöst Frage von marvinplBatch & Shell5 Kommentare

Hallo erstmal und danke, dass du meine Frage geöffnet hast. Ich möchte auf Servern von uns und unseren Kunden ...

Windows 10

Mit einer batch Datei etwas in eine andere batch Datei schreiben und ausführen

Frage von RaphaelStockWindows 105 Kommentare

Hey Administratoren!! Ich habe ein Problem: Ich möchte alle 40 sek etwas in eine batch Datei schreiben und ausführen ...

VB for Applications

Inhalt einer Textbox in eine .txt Datei schreiben

gelöst Frage von Just4fun1990VB for Applications4 Kommentare

Hallo Administrator.de User, ich habe jetzt schon sehr lange gesucht und finde leider nichts. Hier allerdings habe ich gute ...

Batch & Shell

Batch Eingabe in Datei schreiben

gelöst Frage von MedicalAdBatch & Shell2 Kommentare

Hallo Leute, ich habe folgendes Problem, ich möchte ein Batch Programm was nacheinander > Computername, IP Adresse, Aufstellungsort und ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 7 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 10 StundenAdministrator.de Feedback10 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 1 TagGoogle 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 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...