xp-user
Goto Top

500 Wordfiles die jeweilige Anzahl an Wörtern ermitteln

Hallo zusammen,

Ich habe ein Textpaket auf dem Rechner das rund 500 Dateien hat. Nun muss ich für alle 500 Files die genaue Anzahl an verwendeten Wörtern wissen und am Ende des Dateinamen einfügen.
Jedes manuell aufzumachen und die entsprechende Wortzahl ermitteln, gemäss Word-Anzahl Wörter ist sicherlich die umständliche Lösung.

Kennt jemand ein Script, Tool, Program, dass sowas kann?

Besten Dank
XP-User ist jetzt auf Mac umgestiegen, deshalb ein Tool für Mac ;)

Content-ID: 318507

Url: https://administrator.de/contentid/318507

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 20.10.2016 aktualisiert um 09:43:54 Uhr
Goto Top
Moin,

Google hat ein tolles Tool dafür face-smile

z.B. Das hier face-smile

Hint: Status Bar

lks

PS:

Zitat von @xp-user:

XP-User ist jetzt auf Mac umgestiegen, deshalb ein Tool für Mac ;)

Unter Mac dürfte es genauso funktionieren wie unter Windows.
131223
131223 20.10.2016 aktualisiert um 09:45:58 Uhr
Goto Top
Das Tool hat der MAC schon an Bord, nennt sich Automator. Damit kann man das und noch viel mehr automatisieren (AppleScript sei dank)
xp-user
xp-user 20.10.2016 um 09:46:30 Uhr
Goto Top
Zitat von @131223:

Das Tool hat der MAC schon an Bord, nennt sich Automator. Damit kann man das und noch viel mehr automatisieren (AppleScript sei dank)

Gibt es hier ein Beispiel wie man das anstellt?
xp-user
xp-user 20.10.2016 um 09:47:13 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Moin,

Google hat ein tolles Tool dafür face-smile

z.B. Das hier face-smile

Hint: Status Bar

lks

PS:

Zitat von @xp-user:

XP-User ist jetzt auf Mac umgestiegen, deshalb ein Tool für Mac ;)

Unter Mac dürfte es genauso funktionieren wie unter Windows.

Ja danke für die Antwort. Bei 500 Dateien ist das wirklich nicht die Lösung.
131223
131223 20.10.2016 aktualisiert um 09:49:06 Uhr
Goto Top
Suche benutzen , das Stichwort sollte reichen.
z.B. hier grad gefunden
Makro auf alle Dateien im Ordner
Lochkartenstanzer
Lochkartenstanzer 20.10.2016 um 09:50:00 Uhr
Goto Top
Zitat von @xp-user:

Ja danke für die Antwort. Bei 500 Dateien ist das wirklich nicht die Lösung.

Wenn man ein bischen außenrum skriptet schon.

lks
xp-user
xp-user 20.10.2016 um 09:51:03 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @xp-user:

Ja danke für die Antwort. Bei 500 Dateien ist das wirklich nicht die Lösung.

Wenn man ein bischen außenrum skriptet schon.

lks

Bin gerne für dein Lösungsvorschlag offen.
131223
131223 20.10.2016 aktualisiert um 09:53:05 Uhr
Goto Top
Für fertige Skripte anklopfen bitte.
Bin gerne für dein Lösungsvorschlag offen.
wie wärs mal mit minimal sich damit beschäftigen und außeinandersetzen ????
Lochkartenstanzer
Lochkartenstanzer 20.10.2016 um 09:53:01 Uhr
Goto Top
Zitat von @xp-user:

Zitat von @Lochkartenstanzer:

Zitat von @xp-user:

Ja danke für die Antwort. Bei 500 Dateien ist das wirklich nicht die Lösung.

Wenn man ein bischen außenrum skriptet schon.

lks

Bin gerne für dein Lösungsvorschlag offen.

Const ForReading = 1


Set objFSO = CreateObject(“Scripting.FileSystemObject”)

Set objFile = objFSO.OpenTextFile(“c:\scripts\test.txt”, ForReading)

strText = objFile.ReadAll

objFile.Close

arrWords = Split(strText, ” “)

Wscript.Echo Ubound(arrWords) + 1


Für mac ist natürlich noch Anpassungsarbeit notwendig. face-smile
xp-user
xp-user 20.10.2016 um 10:03:01 Uhr
Goto Top
Zitat von @131223:

Für fertige Skripte anklopfen bitte.
Bin gerne für dein Lösungsvorschlag offen.
wie wärs mal mit minimal sich damit beschäftigen und außeinandersetzen ????

Oh Entschuldigung Sacknase...
Natürlich habe ich mich damit beschäftigt. Ich suche ein Tool das es kann, selbstverständlich kann es auch ein kostenpflichtiges Tool sein, wenn es keine freien gibt. Aber nicht jeder kann solche Scripts selber erstellen.
xp-user
xp-user 20.10.2016 um 10:04:25 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @xp-user:

Zitat von @Lochkartenstanzer:

Zitat von @xp-user:

Ja danke für die Antwort. Bei 500 Dateien ist das wirklich nicht die Lösung.

Wenn man ein bischen außenrum skriptet schon.

lks

Bin gerne für dein Lösungsvorschlag offen.

> 
> Const ForReading = 1
> 
> 
> Set objFSO = CreateObject(“Scripting.FileSystemObject”)
> 
> Set objFile = objFSO.OpenTextFile(“c:\scripts\test.txt”, ForReading)
> 
> strText = objFile.ReadAll
> 
> objFile.Close
> 
> arrWords = Split(strText, ” “)
> 
> Wscript.Echo Ubound(arrWords) + 1
> 
> 

Für mac ist natürlich noch Anpassungsarbeit notwendig. face-smile

Ok, vielleicht hat ja jemand eine Lösung die auch mir als nicht Coder hilft.
131223
131223 20.10.2016 aktualisiert um 10:07:26 Uhr
Goto Top
So ein Tool wirst du nicht finden, denn es ist so eine spezielle Anforderung. Hier ist Skripting ein Muss.

Wenn du es unbedingt fertig haben willst, kannst gerne anklopfen, gegen ein paar Euros mach ich dir das gerne fertig.

Aber hier weiß ja noch nicht mal einer was für Dateien es sind *.doc oder *.txt
xp-user
xp-user 20.10.2016 um 10:07:25 Uhr
Goto Top
Zitat von @131223:

Suche benutzen , das Stichwort sollte reichen.
z.B. hier grad gefunden
Makro auf alle Dateien im Ordner

Bei deinem Link geht es um Excel und nicht Word.
Bei Word kann man die Wortzahl nicht einmal mit der Maus markieren, das wird also mit Automator eher schwierig...
131223
131223 20.10.2016 aktualisiert um 10:12:36 Uhr
Goto Top
Zitat von @xp-user:
Bei deinem Link geht es um Excel und nicht Word.
Bei Word kann man die Wortzahl nicht einmal mit der Maus markieren, das wird also mit Automator eher schwierig...
So ein Quatsch, das selbe geht mit Word auch!
Da reicht ein simpler Funktionsaufruf um an die Wortanzahl zu kommen.
ActiveDocument.Range.ComputeStatistics(wdStatisticWords)Und selbstverständlich geht das mit dem Automator, damit geht alles was du dir vorstellen kannst.
xp-user
xp-user 20.10.2016 um 10:19:22 Uhr
Goto Top
Zitat von @131223:

So ein Tool wirst du nicht finden, denn es ist so eine spezielle Anforderung. Hier ist Skripting ein Muss.

Wenn du es unbedingt fertig haben willst, kannst gerne anklopfen, gegen ein paar Euros mach ich dir das gerne fertig.

Aber hier weiß ja noch nicht mal einer was für Dateien es sind *.doc oder *.txt


Es gibt Tools die sowas können:

http://www.tutonaut.de/tipp-zeichen-und-woerter-mehreren-dokumenten-zae ...

Leider für PC.

es sind .doc .docx .und .odt

Ja werde in diesem Falle einen Coder suchen.
Wie gesagt es ging mir nie um den Preis.
Finde einfach die Art so zu antworten recht von oben herab.

Somit leider keinen Keks für dich Sacknase.
colinardo
Lösung colinardo 20.10.2016 aktualisiert um 11:53:35 Uhr
Goto Top
Hallo XP-User,
ja nee für sowas ein extra Tool anzuschaffen wäre ja reinster Overkill face-big-smile.
Wie schon von Sacknase erwähnt wurde, AppleScript und der Automator sind deine Freunde, deswegen hat Apple das ja erfunden face-wink
Der HauptCode des Workflows sieht so aus:
on run {input, parameters}	
    tell application "Microsoft Word"  
	    repeat with i in input
		    open i with readonly
		    set wordCount to (compute statistics active document statistic (statistic words))
		    tell active document to close saving no
		    tell application "Finder"  
			    set fullname to (name of file i)
			    set basename to text 1 thru ((offset of "." in fullname) - 1) of fullname  
			    set extension to name extension of file i
			    set name of file i to ((basename & "_" & wordCount as string) & "." & extension)  
		    end tell
	    end repeat
	    display dialog "Verarbeitung abgeschlossen." with icon note with title "Batch-Word fertig."  
    end tell
    return input
end run
Hier der komplette Automator-Workflow zum Download:
Count-Words-Rename.workflow_318507.zip

Einfach entpacken, doppelklick auf den Workflow, als Dienst sichern, dann Kontextmenü des Ordners mit den Dateien > Dienste, dann die Aktion wählen zurücklehnen, fertig.

Verarbeitet werden hier *.docx, lässt sich im Workflow aber anpassen.

Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
xp-user
xp-user 20.10.2016 um 11:59:49 Uhr
Goto Top
Zitat von @colinardo:

Hallo XP-User,
ja nee für sowas ein extra Tool anzuschaffen wäre ja reinster Overkill face-big-smile.
Wie schon von Sacknase erwähnt wurde, AppleScript und der Automator sind deine Freunde, deswegen hat Apple das ja erfunden face-wink
Der HauptCode des Workflows sieht so aus:
> on run {input, parameters}	
>     tell application "Microsoft Word"  
> 	    repeat with i in input
> 		    open i with readonly
> 		    set wordCount to (compute statistics active document statistic (statistic words))
> 		    tell active document to close saving no
> 		    tell application "Finder"  
> 			    set fullname to (name of file i)
> 			    set basename to text 1 thru ((offset of "." in fullname) - 1) of fullname  
> 			    set extension to name extension of file i
> 			    set name of file i to ((basename & "_" & wordCount as string) & "." & extension)  
> 		    end tell
> 	    end repeat
> 	    display dialog "Verarbeitung abgeschlossen." with icon note with title "Batch-Word fertig."  
>     end tell
>     return input
> end run
> 
Hier der komplette Automator-Workflow zum Download:
Count-Words-Rename.workflow_318507.zip

Einfach entpacken, doppelklick auf den Workflow, als Dienst sichern, dann Kontextmenü des Ordners mit den Dateien > Dienste, dann die Aktion wählen zurücklehnen, fertig.

Verarbeitet werden hier *.docx, lässt sich im Workflow aber anpassen.

Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate


Vielen Dank, das probiere ich heute aus. face-smile
xp-user
xp-user 20.10.2016 um 22:04:36 Uhr
Goto Top
Perfekt, das funktioniert wie es soll.

Herzlichen Dank
xp-user
xp-user 21.10.2016 um 07:58:37 Uhr
Goto Top
Zitat von @colinardo:
^^

Wenn Du jetzt noch ne Lösung hast, die Zahlen welche nun an den Dateinamen angehängt wurden in Excel zusammen zu zählen, dann spende ich nochmals was face-smile

Allenfalls lässt sich das in den Ablauf vom Automator integrieren.
131223
131223 21.10.2016 aktualisiert um 08:21:16 Uhr
Goto Top
Naja, also wenn man sich den Code zumindest mal ansehen würde wirst du hier feststellen
set wordCount to (compute statistics active document statistic (statistic words)) 
das er die Anzahl der Wörter in einer Variablen speichert.
Wenn man mal nachdenkt ist es eine Leichtigkeit nun vor der Schleife eine Variable zu deklarieren zu welcher in der Schleife die hinzugekommenen Wörter addiert. Und die summierende Variable gibst du dann mit Return am Ende im Workflow zurück. Da braucht es kein Excel zum Berechnen.

Das schafft selbst ein Anfänger in 5 Minuten mit minimal Googlen..
xp-user
xp-user 21.10.2016 um 08:33:53 Uhr
Goto Top
Zitat von @131223:

Naja, also wenn man sich den Code zumindest mal ansehen würde wirst du hier feststellen
set wordCount to (compute statistics active document statistic (statistic words)) 
das er die Anzahl der Wörter in einer Variablen speichert.
Wenn man mal nachdenkt ist es eine Leichtigkeit nun vor der Schleife eine Variable zu deklarieren zu welcher in der Schleife die hinzugekommenen Wörter addiert. Und die summierende Variable gibst du dann mit Return am Ende im Workflow zurück. Da braucht es kein Excel zum Berechnen.

Das schafft selbst ein Anfänger in 5 Minuten mit minimal Googlen..


Du gehst davon aus, das ich mich mit Script auskenne. Dem ist nicht so. Ich konzentriere mich lieber auf meine Stärken.
Colinardo hat die Lösung gebracht und sich rasch ein paar Euro verdient. Allenfalls eine Überlegung die Du mal in deine Antworten einfliessen lassen könntest. Nicht jeder hier ist ein Coder oder möchte es werden.
colinardo
Lösung colinardo 21.10.2016 aktualisiert um 14:56:23 Uhr
Goto Top
Zitat von @xp-user:
Wenn Du jetzt noch ne Lösung hast, die Zahlen welche nun an den Dateinamen angehängt wurden in Excel zusammen zu zählen, dann spende ich nochmals was face-smile
Danke erstmal für deine erste Spende face-smile
Kein Problem, ersetze den obigen Code durch diesen, dann wird dir die Gesamtanzahl in der letzten Msgbox angezeigt und zusätzlich wird dieser Zähler als Ergebnis der Aktion zurückgegeben, du kannst diese Zahl also in der nachfolgenden Automator-Aktion weiterverwenden.
on run {input, parameters}
  set totalCount to 0
  tell application "Microsoft Word"  
    repeat with i in input
      open i with readonly
      set wordCount to (compute statistics active document statistic (statistic words))
      set totalCount to (totalCount + wordCount)
      tell active document to close saving no
      tell application "Finder"  
        set fullname to (name of file i)
        set basename to text 1 thru ((offset of "." in fullname) - 1) of fullname  
        set extension to name extension of file i
        set name of file i to ((basename & "_" & wordCount as string) & "." & extension)  
      end tell
    end repeat
    display dialog ("Verarbeitung abgeschlossen. Gesamtanzahl an Wörtern in allen verarbeiteten Dateien: " & totalCount as string) with icon note with title "Batch-Word fertig."  
  end tell
  return totalCount
end run
Grüße Uwe
Yannosch
Yannosch 21.10.2016 um 14:27:59 Uhr
Goto Top
[OT] Uwe ist einfach nur krass unterwegs![/OT]

Danke auch in meinem Namen.
colinardo
colinardo 21.10.2016 aktualisiert um 18:52:13 Uhr
Goto Top
Zitat von @Yannosch:
[OT] Uwe ist einfach nur krass unterwegs![/OT]
Meinst du so ? face-smile
Danke auch in meinem Namen.
Keine Ursache, wenn's hilft. Habe immer ein offenes Ohr für "spezielle" Lösungen face-wink

Schönes Wochenende
xp-user
xp-user 22.10.2016 um 08:56:06 Uhr
Goto Top
Perfekt, funktioniert wie es soll. face-smile

Erneute Spende wurde ausgelöst. Herzlichen Dank
Yannosch
Yannosch 24.10.2016 um 09:01:10 Uhr
Goto Top
Zitat von @colinardo:

Zitat von @Yannosch:
[OT] Uwe ist einfach nur krass unterwegs![/OT]
Meinst du so ? face-smile

Ach das ist doch Kindergeburtstag dagegen! face-big-smile

Danke auch in meinem Namen.
Keine Ursache, wenn's hilft. Habe immer ein offenes Ohr für "spezielle" Lösungen face-wink

Schönes Wochenende