Hallo zusammen. Ich habe in einem Ordner eine, sagen wir mal, "dokument_v1.pdf" liegen. Diese Datei wird aber regelmäßig durch ein anderes Programm ersetzt und auf "dokument_v2.pdf" umbenannt. Jetzt wollte ich mir auf meinem Desktop eine Verknüpfung auf auf z.B. dokument*.pdf machen oder ähnlich. geht das? Falls ja wie?
Unter linux würde man einfach folgendes Kommando in ein shell script oder eine .desktop verknüpfung schreiben:
1 | xdg-open dokument_v*.pdf |
Unter Windows müsste man wohl ein batch file erstellen, aber das ist viel komplizierter, und ich weiss nicht wie man das dort machen müsste.
Eine Batchdatei mit folgendem Inhalt im gleichen Ordner wie die Datei:
1 | forfiles /m Datei*.txt /c "cmd /c notepad @path" |
Aber vielleicht geht es auch noch einfacher?
Mach eine Verknüpfung auf den Ordner, ist dann ein Doppelklick mehr. Win weiß ja nicht, daß da nur eine Datei zu Öffnen ist. Auch unter Linux geht das schief, wenn die alte Datei nicht gelöscht wird. Da gehen dann 100 PDFs auf.
Timm T. schrieb: > Auch unter Linux geht das schief, wenn die alte Datei nicht gelöscht > wird. Da gehen dann 100 PDFs auf. Wäre auch einfach zu lösen, zuletzt gespeicherte/geänderte Datei öffnen:
1 | xdg-open "$(ls -t1 dokument_v*.pdf | head -1)" |
Wenn man es nach dem wildcard teil sortiert das höchstwertige nach "menschenleseweise" haben will, und es nur 1 wildcard gibt, wirdes etwas komplizierter. Dann könnte man folgendes Script, das ich gerade geschrieben habe, nach /usr/local/bin/wkn-open speichern:
1 | #!/bin/bash
|
2 | |
3 | if [ "$#" -ne 1 ] |
4 | then
|
5 | echo "Usage: $0 pattern" >&2 |
6 | exit 1 |
7 | fi
|
8 | |
9 | file="$1" |
10 | |
11 | result="$( |
12 | echo "$file" | tr '*' '\n' | { |
13 | read prefix
|
14 | read suffix
|
15 | echo -n "$prefix" |
16 | for f in $file
|
17 | do echo "${f:$(expr $(wc -c<<<"$prefix") - 1):-$(expr $(wc -c<<<"$suffix") - 1)}" |
18 | done | sort -rh | head -n 1 | head -c -1
|
19 | echo -n "$suffix" |
20 | }
|
21 | )"
|
22 | |
23 | if [ ! -f "$result" ] && [ "$result" == "$file" ] |
24 | then
|
25 | echo "No match" >&2 |
26 | exit 2 |
27 | fi
|
28 | |
29 | xdg-open "$result" |
Und schon könnte man nur die Datei mit der Grössten nummer folgendermasen öffnen:
1 | wkn-open "dokument_v*.pdf" |
Lang lebe Bash! PS: Andere könnten das Script sicher einfacher schreiben
:
Bearbeitet durch User
Daniel A. schrieb: > Lang lebe Bash! Da angeblich W10 auch Linux-Befehle in der PowerShell ausführen kann, sollte das Script dann auch unter Windows laufen, oder?
Timm T. schrieb: > Da angeblich W10 auch Linux-Befehle in der PowerShell ausführen kann, > sollte das Script dann auch unter Windows laufen, oder? Ich habe es nie ausprobiert, ich glaube man braucht die buggiere Entwicklerversion wo die Testupdates kommen, und muss bash in die Konsole eintippen damit das Fenster kommt das einem Anbietet bash aus dem Windows Store runterzuladen. Das xdg-open müsste man aber durch einen MS Spezifischen befehl ersetzen.
Michael Mitch M. schrieb: > Hi, sorry.. aber es handelt sich um Windows:) Hi, sorry, aber wir reden von Windows: http://www.heise.de/newsticker/meldung/Hands-on-Das-neue-Linux-Subsystem-in-Windows-10-3163994.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.