Mittwoch, Juli 31, 2013

Wundermütze mit wordpad, write und Windows7

Beim Start von Wordpad aus Powershell heraus kam es zu unerwarteten Problemen beim Aufruf.
Lösung:
(cmd /c write)

Problembeschreibung:
//windows Start/Suche: wordpad und
//windows Start/Suche: write

liefern beide:
C:\Program Files\Windows NT\Accessories\wordpad.exe

von der command shell aus kann aber nur write starten
Die Powershell startet mit write, write-object

Erst nach Hinzufügen des Pfades kennt Powershell auch Wordpad:

$env:path+=';C:\Program Files\Windows NT\Accessories'
wordpad

Offen ist, warum cmd write kennt und wordpad startet.

Dazu fragen wir mal:
((cmd /c echo %path%).split(';')|%{(gci -path $_ *.* 2>$null)})|?{$_.name -match '(\bwrite\..+)|(\bwordpad\..+)'}|select directory, name,length|ft -auto

Also gibt es unter c:\windows und c:\windows\system32 jeweils eine write.exe mit 10240 bytes. Das nach dem Start geöffnete Programm nennt sich wordpad. Auch get-process findet nur wordpad und nicht write.

Im oben genannten  Zubehör Pfad findet man dann auch wordpad.exe:
gci -path 'C:\Program Files\Windows NT\Accessories' *.*

Es ist größer als 4MB.

Die letzte offene Frage ist somit, wie wird aus write wordpad, und woher wusste die Suche, dass bei der Suche nach Wordpad die Datei Write zu finden ist, welche letztlich wordpad aufruft??. Vermutlich ist write.exe nur eine Weiterleitung auf wordpad.exe.

Am Einfachsten ist somit die oben genannte Lösung. (cmd /c write)

Keine Kommentare: