C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "d:\_daten\anruf02.ps1" "%Number %Called %Name"
#args ist ein Array welches die Kommandozeilenparameter enthält
$Von=$args[0];
$AnNummer=$args[1];
$pVonName=$args[2];
function InsertBlanks($Number)
{
$result="";
$Ziffern="0123456789";
$Number=[String] $Number;
for ($i=0; $i -le $Number.Length-1; $i++) {
$a=$Number.substring($i,1);
$result+=$a;
if ($Ziffern.contains($a)) {
$result = $result +" ";
}
}
$result;
}
$erg="";
$VonName="Unbekannt";
#hier gibt es eine Sonderbehandlung für bekannte Anrufer
if ($Von -ne "Unbekannt") {
$KnownNames="Kurt","Chef","Christel","Praxis Dr.xxxx";
$KnownNumbers="012324324","026323123213","01515343424","23442";
for ($i=0; $i -le $KnownNumbers.Length-1; $i++) {
$a0=[String] $args[0];
if ($a0.contains($KnownNumbers[$i])) {
$VonName=$KnownNames[$i];
break;
}
}
}
if ($VonName -eq "Unbekannt") {
$Von=InsertBlanks($Von);
}
else
{
$Von=$VonName;
}
$An="keine Ahnung";
#hier werden die eigenen ISDN-Nummern ausgewertet
switch ($AnNummer)
{
"910000" {$An=" für Paul"}
"910001" {$An=" an Fax"}
"910002" {$An=" für Susanne"}
"900003" {$An=" für Peter"}
}
#hier ist der Aufruf der Sprachausgabe
$v = new-object -com SAPI.SpVoice
$v.speak("Anruf von " + $Von + $An) | out-null
$v = $null
#ich protokolliere mir die Anrufe noch in eine Datei:
$Datum=Get-Date;
$Datum.ToString("dd.MM.yyyy") + " - " + $Datum.ToString("HH:mm") + ": Anruf von " + $Von + " für " + $An + " (" + $args + ")" + " VonName:" + $pVonName | Out-File d:\Anrufe.txt -append;
#args ist ein Array welches die Kommandozeilenparameter enthält
$Von=$args[0];
$AnNummer=$args[1];
$pVonName=$args[2];
function InsertBlanks($Number)
{
$result="";
$Ziffern="0123456789";
$Number=[String] $Number;
for ($i=0; $i -le $Number.Length-1; $i++) {
$a=$Number.substring($i,1);
$result+=$a;
if ($Ziffern.contains($a)) {
$result = $result +" ";
}
}
$result;
}
$Von=InsertBlanks($Von);
$Von=InsertBlanks($AnNummer);
#hier ist der Aufruf der Sprachausgabe
$v = new-object -com SAPI.SpVoice
$v.speak("Anruf von " + $Von + " für " + $AnNummer) | out-null
$v = $null
@echo off & setlocal enableextensions
set OldNumber=017187654321
call :AddBlank "%OldNumber%" NewNumber
echo.%OldNumber%
echo.
echo.%NewNumber%
echo.
echo.
pause
goto :EOF
endlocal & goto :EOF
::=====================================================================
:: Subroutine "AddBlank":
:: Fuegt hinter jedes Zeichen ein Blank an, außer am letzten Zeichen
::=====================================================================
:AddBlank oldstring newstring
setlocal enableextensions enabledelayedexpansion
if "%~1"=="" (endlocal & set "%2=" & goto :EOF)
set OldS=%~1
set NewS=
set Z=
for /L %%c in (0,1,255) do (
set Z=!OldS:~%%c,1!
if defined Z set NewS=!NewS!!Z!
)
set NewS=%NewS:~0,-1%
endlocal & set "%2=%NewS%" & goto :EOF
D:\Programme\speak.exe "Anruf von %Name mit der Rufnummer %Number%D:\Fritz.box\Anrufmonitor.bat auf dem Telefon %Called" "Ein Anruf von %Name (%Number ) auf %Called" -x0
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "D:\Fritz.box\Anrufmonitor.ps1" "%Number %Called %Name"
>Steffi auch installiert, also RSSolo4German.zip?
$v = new-object -com SAPI.SpVoice
$v.speak("Hallo Welt") | out-null
$v = $null