• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Batchprogrammierung

crackajack

Spiele-Kenner/in
Mitglied seit
08.09.2005
Beiträge
4.371
Reaktionspunkte
0
Hi

Folgende Aufgabe müsste ich erledigen:
- 2000 (bis 4000) Zeichnungen vorhanden
- Benennungen mit ä, ü, ö, ß vorhanden
- Schritt 1: alle Sonderzeichen eliminieren (quasi auf amerik. Buchstaben reduzieren)
ä->ae | ü->ue | ö->oe | ß->ss (gibt es noch was? *grübel*)
- Schritt 2: genau definierte Listen aller Dateien (ordnerweise) für Importjobs erstellen


z.B. Ordner "Scan1":
Inhalt:
123_R3-A2-ichbineinscan.tif
356_R1-A4-ichbinderzweitescän.tif
usw. usf.

Schritt 1:
123_R3-A2-ichbineinscan.tif
356_R1-A4-ichbinderzweitescan.tif

Schritt 2: x.txt erzeugen mit Inhalt
Code:
-datei=123_R3-A2-ichbineinscan.tif -name=ichbineinscan -nummer=123 -stand=R3 -beschreibung=A1
-datei=356_R1-A4-ichbinderzweitescan.tif -name=ichbinderzweitescan -nummer=356 -stand=R1 -beschreibung=A4
usw. usf.

Die Logik welcher Teil der Bildbenennung wo hin gehört ist hoffentlich klar? Müssten ja die Trennzeichen ermöglichen das man bestimmte Textteile an die jeweilige Listenzeile kopiert? Ähnlich wie bei mp3-tag.


Da ich von *.bat keinen Dunst habe, hoffe ich das mir ein Profi das machen könnte.
Wenn das Ganze so funzt das man eine einzige Batch in den jeweiligen Ordner schiebt, startet und danach die korrigierten Dateinamen hat, sowie danach die Importliste.txt, dann wär das super. Aufgeteilt auf mehrere Batch geht natürlich genauso. Ein paar Klicks statt Hunderter.... :X
Sooo schwierig dürfte das ja nicht sein? Ich stell mir das zumindest einfach vor. Wie gesagt, ich hab aber keinen Plan davon. %)

Mit bestem Dank
crackajack
 
Warum per Batch, Programme wie xnview oder irfanview (beides kostenfrei) haben Batchkonverter on Board, die auch eine Namensänderung mit einer "Ersetze X mit Y" Funktion bieten.

Weiterhin, braucht es für die Auflistfunktion auch keine bat, es gibt Programmhilfen, die zwar die DIR Funktion nutzen, aber keinerlei Wissen über Batcherstellung benötigen, das hier z.B.:

http://www.megaupload.com/de/?d=HMURCKTL
 
Seid ihr alle masochistisch veranlagt oder warum muss es immer ein Batchscript sein? Wenn es auf Konsolenbasis sein muss, dann wuerde ich das in Perl machen oderist das wieder nicht erlaubt? ;)
 
The_Linux_Pinguin am 06.02.2009 18:24 schrieb:
Seid ihr alle masochistisch veranlagt oder warum muss es immer ein Batchscript sein? Wenn es auf Konsolenbasis sein muss, dann wuerde ich das in Perl machen oderist das wieder nicht erlaubt? ;)
Mir doch total egal wie man zum Ergebnis kommt. Den manuellen Weg, bei jeder einzelnen Datei rumzufrickeln, kenne ich, will ich aber nicht wirklich gehen...
Batch ist halt ein unbekanntes Wesen, wo der Noob halt meint das es dazu fähig sein müsste. Soll ja eben oft wiederholte Vorgänge automatisieren, oder so....

Look am 06.02.2009 18:17 schrieb:
Warum per Batch, Programme wie xnview oder irfanview (beides kostenfrei) haben Batchkonverter on Board, die auch eine Namensänderung mit einer "Ersetze X mit Y" Funktion bieten.
:-o
Kenne ich, das dabei Texte ersetzt werden können, hätte ich aber bisher eben nicht beachtet.
:top:
Damit hätte ich schon mal die ungewünschten Zeichen raus. (doofe amerikanische Programme, die damit nicht klar kommen)
Weiterhin, braucht es für die Auflistfunktion auch keine bat, es gibt Programmhilfen, die zwar die DIR Funktion nutzen, aber keinerlei Wissen über Batcherstellung benötigen, das hier z.B.:

http://www.megaupload.com/de/?d=HMURCKTL
hmm... und wie bekomme ich damit die gewünschte Formatierung hin?
-datei=??? -name=??? -nummer=??? -stand=??? -beschreibung=???
Direkt aus dem Dateinamen!?
Bin ich blind? Das listet mir doch bloß alle Dateien im gewählten Verzeichnis?
 
Wenn du Windows benutzt, dann hilft dir das hier vielleicht weiter. Komischerweise heißt das Programm auch noch crackajack und sollte eigentlich genau das machen, was du willst. :B :-D :S
 
Mothman am 07.02.2009 03:11 schrieb:
Wenn du Windows benutzt, dann hilft dir das hier vielleicht weiter. Komischerweise heißt das Programm auch noch crackajack und sollte eigentlich genau das machen, was du willst. :B :-D :S
:-D
Da hab ich Blödsinn programmiert.^^


Das Ding kann doch gar nichts, außer Datei-browsing ist das doch funktionslos? Links kann ich reinklicken und es tut sich nichts, oben die Dateien anwählen und rechts Text reinschreiben. Speichern und Umwandeln sind inaktiv. Wie ich damit zu einer formatierten Textliste kommen soll, ist mir schleierhaft.

@The_Linux_Pinguin
Wo bleibt das Perl-dingens? Zack-Zack! :B
 
Also bei mir funktioniert Mothmans Programm einwandfrei.

Links den Inputordner wählen, in der Mitte die Dateien markieren, rechts den Outputordner wählen (mit Doppelklick, erst dann wird Umwandeln aktiv), dann auf Umwandeln und am Schluss auf Speichern klicken.
 
crackajack am 07.02.2009 10:54 schrieb:
Da hab ich Blödsinn programmiert.^^
Nana. Dir werde ich nochmal helfen! :B ;(
Immer diese voreiligen Aggressionen. :-D

Ich habe das Proggi gestern in ca 1 Stunde zusammengeschrieben, da ist es klar, das es nicht der Meister der Usability ist.
Das funktioniert auch nur, wenn deine Dateien wirklich das von dir angegebene Format haben und, wie bsekranker schon schrieb, musst du erst beide Ordner ausgewählt haben, dann Dateien auswählen, umwandeln (Sonderzeichen entfernen) und dann kannst du sie abspeichern. Da kommt dann die die Datei importjob.txt und die umbenannten Dateien in deinm Zielordner.
 
Oh, stimmt, doppelklick... dann funzt "mein" Proggi ja.

Ich hab das ja überhaupt nicht kapiert das das extra für mich erstellt wurde!
hübsch :X

Wenn es nicht zu viele Umstände macht, müsste man da schon noch ein paar Kleinigkeiten einfügen/ändern.
Das da oben war nur um zu klären um was es geht und mit einer bat hätte ich das wohl hinbekommen selber anzupasssen. Oder auch nicht.^^
Die bei allen Zeilen gleichen Argumente, die auch noch rein müssen, hatte ich erst mal weggelassen und die z.B. -name= müssen eig. -f= und so ähnlich heißen. Hab das mal ausgeschrieben, sonst wäre es imo halt weniger offensichtlich zum verstehen gewesen.

Am Montag schreib ich dann auf wie es genau aussehen müsste.

Mothman am 07.02.2009 12:36 schrieb:
Ich habe das Proggi gestern in ca 1 Stunde zusammengeschrieben
Schick mir per o-mail deine Adresse, dann schick ich dir irgendwas. Ok?
 
crackajack am 07.02.2009 12:54 schrieb:
Wenn es nicht zu viele Umstände macht, müsste man da schon noch ein paar Kleinigkeiten einfügen/ändern.
Nein, das macht mir nichts aus. Wenn du genau schreibst, wie es aussehen soll und es in meinen zeitlichen Möglichkeiten liegt, dann passe ich das an.

Schick mir per o-mail deine Adresse, dann schick ich dir irgendwas. Ok?
Nene, behalte man deinen Kram. Ich habe alles, was ich brauche. ;)
 
Mothman am 07.02.2009 13:01 schrieb:
Nein, das macht mir nichts aus. Wenn du genau schreibst, wie es aussehen soll und es in meinen zeitlichen Möglichkeiten liegt, dann passe ich das an.
Es eilt nicht wirklich.
Bevor die Datenbank mit den Scans gefüttert werden kann, müssen rund 15k CAD-Dateien fehlerbereinigt werden (nicht alle, aber zumindest große Teile davon). Und das ist bei weitem aufwendiger, da einige der Fehler nur von Datei zu Datei korrigiert werden können. *uff*
Das automatisieren dieses Scan-Imports hilft mir schon enorm. Kommt aber eig. erst am Schluss ran.
Nene, behalte man deinen Kram. Ich habe alles, was ich brauche. ;)
Ok, dann kann ich ja wieder die normalen Jeans anziehen.;)
 
crackajack am 07.02.2009 13:13 schrieb:
Ok, dann kann ich ja wieder die normalen Jeans anziehen.;)
:B

Was ich noch sagen sollte: Ich habe das Programm logischerweise jetzt nciht mit vielen und großen Dateien testen können. Also ich kann da natürlich keine Funktionalität garantieren. =)
 
Mothman am 07.02.2009 13:15 schrieb:
Was ich noch sagen sollte: Ich habe das Programm logischerweise jetzt nciht mit vielen und großen Dateien testen können. Also ich kann da natürlich keine Funktionalität garantieren. =)
Ich schätz mal grob das es 100 Ordner mit jeweils ~50 Dateien werden müssten.
Sind alles tif-Dateien in SW und daher ziemlich klein.
Schauen wir mal, dann sehen wir schon.
Wenn es nicht funzt, verklag ich dich einfach auf mehrere Billionen Dollar. :P
 
Mothman, wenn du in nächster Zeit dazu kommst.

123456#7-A4-Produkt-soundso-super.tif
sollte zu der Zeile werden:
Code:
-f=123456#7-A4-Produkt-soundso-super.tif -d=123456-7-tif -item=123456 -revision=7 -type=TIFF -ref=tiff -desc=A4-Produkt-soundso-super -de=n -ie=y

Die Zeichen (ä->ae | ü->ue | ö->oe | ß->ss) laufen ja glaube ich alle schon.
Wenn das auch noch geht:
Leerzeichen sollten zu Minus werden
ø->Dm
°->Grad

Punkte hätten wir mitunter auch in der Datei-Benennung. Problem? Also für den Teil der zu -desc= kopiert werden soll. Also z.B. 123456#8-A4-Stueck-Dm14.5.tif
 
Ok, sollte jetzt so laufen, wie du willst.
Ich habe ein paar Testdateien mit dazu gepackt, damit du es testen kannst und mir dann mitteilen kannst, falls etwas nicht stimmt.
crackajack neue Version

Das Format des Dateinamens muss aber immer gleich bleiben (also wie in deinen Beispielen).

Gruß
 
Mothman am 09.02.2009 15:11 schrieb:
Ok, sollte jetzt so laufen, wie du willst.
Yeah! Das kleine, feine Proggi scheint alles zu fressen, was ich ihm testweise vorgeworfen habe.

Eine kleine Korrektur müsste ich dennoch erbitten.
bei ref und type müssen es wirklich je zwei F sein (-type=TIFF -ref=tiff). Das muss für den Import genau so angeben sein, sonst weiß die import.exe nicht was es damit anfangen soll. tif oder tiff bei der Datei selber wäre wiederum egal. Ist aber immer tif.


Interessehalber: Mit was wurde das Programm erstellt?
 
crackajack am 09.02.2009 16:48 schrieb:
Eine kleine Korrektur müsste ich dennoch erbitten.
bei ref und type müssen es wirklich je zwei F sein (-type=TIFF -ref=tiff). Das muss für den Import genau so angeben sein, sonst weiß die import.exe nicht was es damit anfangen soll. tif oder tiff bei der Datei selber wäre wiederum egal. Ist aber immer tif.
Das Problem ist (auch bei den letzten beiden Paramtern), dass ich die nicht aus der Datei ermitteln kann. Weil ich kann ja nur die Dateiendung ermitteln und das ist eben tif und nicht tiff. Aber wenn du sagst, dass die Dateien eh ALLE tif sind, dann kann ich auch direkt in den Quellcode tiff, bzw. TIFF reinschreiben. So habe ich es mit den letzten beiden Werten auch gemacht, weil ich nicht weiß, woher ich die Werte nehmen soll. Falls du verstehst, was ich meine.

Interessehalber: Mit was wurde das Programm erstellt?
Visual Basic 6 :B

EDIT:
-de=n -ie=y
Diese Werte meinte ich. Die habe ich auch direkt in den Quellcode geschrieben, weil ich keine Ahnung habe, wie ich die Werte aus dem Dateinamen bekommen soll.
 
Mothman am 09.02.2009 16:56 schrieb:
Das Problem ist (auch bei den letzten beiden Paramtern), dass ich die nicht aus der Datei ermitteln kann.

-de=n -ie=y
Aso, ja, sorry. Das sind genauso wie -type=TIFF -ref=tiff quasi Konstanten. Der Teil muss und kann auch gar nicht aus dem Namen ermittelt werden.
Die 4 Argumente kannst du einfach als fixen Text reinschreiben. Brauch ich immer so.

Warum man TIFF und tiff praktisch zweimal angeben muss, einmal groß und einmal klein, weiß ich nicht. Ist halt so.
ie=y(es?) erlaubt das ein Datensatz importiert werden darf, obwohl schon einer mit der gleichen Nummer existiert.
Und de=n (was auch immer das heißt) sagt dann das es den gleichlautenden Datensatz weder erweitern, noch löschen soll, den neuen einfach zusätzlich eigenständig dazuhängen.
 
Ich will ja wirklich nicht nerven, aber große Ä,Ö und Ü werden wie mir erst jetzt auffällt groß übersetzt; AE, OE, bzw. beim Ü passiert nichts.
Ae, Oe und Ue ist doch auch noch im Bereich des Möglichen? *liebguck*

Ansonsten läuft das Ding toll. 100 Dateien auf einmal sind anscheinend kein Problem und mehr will ich eh nicht pro Job abarbeiten, sonst übersieht man Fehler. Ein paar Tippfehler muss man nämlich noch ab und zu korrigieren bevor man die Dateien endgültig darüber jagen wird, aber die sind beim erstellen der zahlreichen Bild-dateien mal einfach passiert.
 
Zurück