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

Frage Entwicklung Batch & Shell

Copy mit Dateinamen aus Inhalten von Textdateien

Mitglied: RaBe62

RaBe62 (Level 1) - Jetzt verbinden

18.02.2013, aktualisiert 19:15 Uhr, 1822 Aufrufe, 8 Kommentare

Eine Datei mit einem Standardisierten Dateinamen versehen, dessen Namensteile teilweise aus Textdateien stammen

Hi all,

vor 20 Jahren war die Kommandozeile mein Zuhause. Mit Windows ist das aber verdammt eingerostet. Nach langem googeln brauche ich nun doch einen Schubser um meine Aufgabenstellung zu lösen.

Ausgangssituation:
Ein Win7-System mit einem Ordner mit den Dateien
.brand.txt - enthält einen Text mit einem Kürzel des aktuell verwendeten Brand (z.B. bsit)
.version.txt - enthält einen Text mit der Versionsnummer (z.B. 1.02)
handout.pdf - eine zu kopierende und dabei neu zu benennende Datei

Ziel:
Mit der rechten Maustaste auf die Datei handout.pdf "Senden an" die Datei (gern auch mehrere markierte gleichzeitig) einem Batch übergeben, der im gleichen Verzeichnis eine Kopie der handout.pdf erstellt, die einen neuen Dateinamen erhält.

Der Dateiname setzt sich wie folgt zusammen:

4t_[inhaltVon.brand.txt]_[originalDateiName]_v[inhaltVon.version.txt]_[yyyy-mm-dd].[originalExtension]

Also im Beispiel:
4t_bsit_handout_v1.02_2013-02-18.pdf

Ich wollte in einem Batch Umgebungsvariablen mit den Inhalten der Dateien .brand.txt und .verison.txt setzen und diese dann im Copy verwenden. Aber schon diese schlichte Aufgabe überfordert mich gerade. Und selbst Google hat mir bisher nicht geholfen. Wahrscheinlich formuliere ich die Fragen falsch.

Kann mir hier jemand einen kleinen Anschubser geben?

Viele Grüße
Ralf...
Mitglied: bastla
18.02.2013 um 19:33 Uhr
Hallo RaBe62!

Um den Inhalt der ersten Zeile von ".brand.txt" in die Variable %Brand% zu bekommen, sollte
set /p Brand=<.brand.txt
genügen ...
Den Originaldateinamen einer dem Batch als Parameter übergebenen Datei erhältst Du mit "%~n1", den Typ mit "%~x1".

Genug geschubst?

Grüße
bastla
Bitte warten ..
Mitglied: mupan7
18.02.2013 um 20:55 Uhr
Sehr viel lässt sich auch mit dem Swiss File Knife (http://stahlworks.com/dev/swiss-file-knife.html) machen.
Bitte warten ..
Mitglied: RaBe62
19.02.2013 um 11:10 Uhr
Hallo bastla,

jaaaa - ein Schubser, wie er besser nicht hätte sein können - Danke.

Viele Grüße
Ralf...
Bitte warten ..
Mitglied: RaBe62
19.02.2013 um 11:11 Uhr
Hallo mupan7,

meine Aufgabe habe ich auch ohne das Messer gelöst bekommen. Aber ich habe immer wieder das Problem, Leerzeichen aus Dateinamen entfernen zu müssen. Da passt das Messer ausgezeichnet - vielen Dank.

Viele Grüße
Ralf...
Bitte warten ..
Mitglied: bastla
19.02.2013 um 11:21 Uhr
... obwohl auch
set "DateinameNeu=%DateinameAlt: =_%"
oder
set "DateinameNeu=%DateinameAlt: =%"
kein Hexenwerk ist ...

Grüße
bastla
Bitte warten ..
Mitglied: RaBe62
19.02.2013 um 11:42 Uhr
Meine Lösung ist jetzt ein Batch mit Link im SendTo

@echo off & setlocal
:Loop
if "%~1"=="" goto :eof
set /p brand=<_brand.txt
set /p project=<_project.txt
set /p version=<_version.txt
copy %1 "%~d1%~p14t_%brand%_%project%_%~n1_v%version%%~x1"
shift
goto :Loop
Macht genau was ich will.

Aaaaber - jetzt sind x neue Datein im Ordner und werden nicht (sofort) im Explorer angezeigt. Erst ein F5 bringt sie hervor.

Für den geübten User kein Problem. Aber wir kennen doch alle DAU, der dann sagt "hier geht gar nix mehr".

Frage:
Kann ich aus einem Batch irgendwie ein Reload (F5) des Explorers veranlassen? (Das ist eindeutig nach meiner aktiven Batch-Zeit auf 4dos )

Gruß
Ralf...
Bitte warten ..
Mitglied: bastla
19.02.2013 um 12:21 Uhr
Hallo RaBe62!
Kann ich aus einem Batch irgendwie ein Reload (F5) des Explorers veranlassen?
Kaum; allenfalls könntest Du ein neues Fenster öffnen mit
01.
if "%~1"=="" if defined Pfad start explorer "%Pfad%" & goto :eof 
02.
if not defined Pfad set "Pfad=%~dp1"
am Beginn Deiner Schleife.

Grüße
bastla
Bitte warten ..
Mitglied: mupan7
19.02.2013 um 14:11 Uhr
In Batches ist mir das noch nicht untergekommen. Mit der Powershell kannst du alles machen: http://powershell.com/cs/media/p/8322.aspx Allerdings müssen dazu Skripte erstmal erlaubt werden und / oder du musst dein Skript signieren, also das ist schon ein ganz anderer Ansatz. Vielleicht hilft dir das hier was:

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/5f494432 ...

Möglicherweise lässt sich die ChangeNotify-Funktion in shell32.dll ja auch mit einer rundll32-Zeile aufrufen?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateiname in Textdatei via Batch
gelöst Frage von plutowitschBatch & Shell4 Kommentare

Hallihallo, mein Problem ist wahrscheinlich für den Ein oder Anderen recht trivial, für mich als Anfänger jedoch schwieriger als ...

VB for Applications
Import Textdatei von Dateiname aus Zelle
Frage von grasihuepferVB for Applications2 Kommentare

Hi Leute, Ich möchte eine Textdatei importieren. Und zwar soll der Pfad des Datei Ortes in einer bestimmten Zelle ...

Batch & Shell
Zeichenfolge in Textdatei durch Inhalt einer Umgebungsvariable ersetzen
gelöst Frage von SarekHLBatch & Shell7 Kommentare

Hallo zusammen, wie kann ich mittels Batch in einer Textdatei die Zeichenfolge durch den Inhalt der Umgebungsvariable %username% ersetzen? ...

Batch & Shell
Powershell Textdatei Inhalt am Anfang einfügen
gelöst Frage von Timo0oBatch & Shell3 Kommentare

Wie kann ich einen Text in eine Textdatei mit Inhalt am Anfang einfügen? So wie ich es hier habe ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...