Search This Blog

2006-07-11

Check and Restart a Windows service with batch file

:: In this example we restart the PCAnywhere service
:: The name of the service could be parametrize
:: PURPOSE TO CHECK IF THE PCANYWHERE SERVICE IS RUNNING
:: IF IT IS NOT RUNNING RESTART IT

@echo off & setlocal ENABLEEXTENSIONS
echo %errorlevel%
pause
call :IsRunning "pcAnywhere Host Service" && echo\yes || echo\no
if errorlevel 0 ENDLOCAL
echo kaikki ok
pause
goto :EOF

:EOF

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:IsRunning %svc%
::
:: By: Ritchie Lawrence, 2003-10-08. Version 1.0
::
:: Func: Sets errorlevel to zero if the specified service is running,
:: otherwise errorlevel set to one. For NT4/2000/XP/2003.
::
:: Args: %1 Display name of the service to check (by val)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
setlocal ENABLEEXTENSIONS & set "svc=%1"
set svc=%svc:"=%
echo The name of the service is %svc%
pause
net start | findstr/i /b /e /c:" %svc%" >nul
if errorlevel 1 call :RestartService %svc%
endlocal & goto :EOF
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:RestartService %svc%
setlocal ENABLEEXTENSIONS
echo The name of the service is %svc%
pause

echo Restarting the Service
pause
echo "%svc%"
pause
net start "%svc%"
pause
endlocal & goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Pelrl class implementing "getters and setters "

package WhateverName ;
my $fields = {} ; #this hash describes each property of
#the class

sub new
{
my $invocant= shift ;
my $class = ref ($invocant ) || $invocant ; #could be called as object cloning method
my $self = {} ;
my $fields = { @_, }; #get the passed parameters to the constr
while (@_)
{
my $name = shift ;
my $value = shift ;
set( $self , $name , $value );
}
bless $self , $class ;
return $self ;
}

sub get {
shift;
my $name = shift;
return $fields->{$name};
}

sub set {
shift;
my $name = shift;
my $value = shift;
$fields->{$name}=$value;
}

sub dumpFields
{
my $self = shift ;
foreach $key (keys %$fields)
{
print "$key = $fields->{$key}\n";
}
}


1;
__END__

2006-07-08

Threads in Perl

#Ok I have to admit my skills in threads so far are almost 0
#For theoreticall start :
#perlthrtut

Batch file selective recursive directory walker

@echo off
rem -------------------------------------------------------------------------
rem Batch file to execute a command on a set of files.
rem -------------------------------------------------------------------------
rem Revision History:
rem 6/5/1982 Fred Stluka
rem - Initial version for IBM VMS/CMS (FILELIST EXEC)
rem 10/12/1985 Fred Stluka
rem - Initial version for DEC VAX/VMS
rem 10/4/1988 Fred Stluka
rem - Initial version for Unix (find -exec, find -ok)
rem 12/2/1998 Fred Stluka
rem - Initial version for Windows NT
rem 2/3/2005 Fred Stluka
rem - Execute command via "call" in case it's a BAT file.
rem - Expand filenames to fully qualified paths via ~f.
rem - Notes explaining FOR command syntax.
rem $Log$
rem -------------------------------------------------------------------------

rem Turn echo back on if ECHO environment variable equals ON.
if not "%ECHO%"=="" echo %ECHO%

if "%1" == "" goto USAGE
if "%1" == "-?" goto USAGE
if "%1" == "/?" goto USAGE
if not "%OS%" == "Windows_NT" goto NOT_NT

rem Accumulate the DIR options and file specs (everything until "DO").
set DIR_PARAMS=
:GET_DIR_PARAMS
for %%i in (do DO dO Do) do if "%1"=="%%i" goto DO_FOUND
if "%1"=="" goto NO_DO_FOUND
set DIR_PARAMS=%DIR_PARAMS% %1
shift
goto GET_DIR_PARAMS
:DO_FOUND
shift

rem Run the command on the files.
rem
rem Notes:
rem - The /f switch causes FOR to parse each line in a file.
rem - The "Tokens=*" option causes an entire line of the file to be handled
rem at once. (Not required, since this is the default behavior.)
rem - Percent signs must be doubled on FOR loop variables inside BAT files.
rem - The apostrophes cause the DIR command to be evaluated to produce the
rem "file" to be parsed by /f.
rem - The ~f modifier expands the filename in %i to a fully qualified path.
rem - For more info, type: HELP FOR
rem
echo DIR parameters: %DIR_PARAMS%
echo Files to be processed:
for /f "Tokens=*" %%i in ('dir %DIR_PARAMS% /a-d /b') do echo "%%~fi"
rem Note: "echo." echoes a blank line. "echo ." would echo a dot.
echo.
echo Hit Ctrl-C to stop or any other key to continue:
:: pause > nul
for /f "Tokens=*" %%i in ('dir %DIR_PARAMS% /a-d /b') do call :EXECUTE %1 %2 %3 %4 %5 %6 %7 %8 "%%~fi"
goto EXIT

:EXECUTE
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
rem
rem Note: The keyword "call" is needed here. Otherwise, if the first parameter
rem is the name of a BAT file, things get confused. The BAT file is not
rem executed, and the following error is reported:
rem The system cannot find the batch label specified - EXECUTE
rem
call %1 %2 %3 %4 %5 %6 %7 %8 %9
goto EXIT

:NOT_NT
echo Sorry. %0 only runs under Windows NT, 2000, XP, etc. Not 95, 98, ME.
goto EXIT

:NO_DO_FOUND
echo Invalid syntax. Must specify DO.
goto USAGE

:USAGE
echo %0 is a BAT file that executes the specified command on the specified
echo set of files. The files are specified as a set of parameters that would
echo cause the DIR command to select the right set of files.
echo Usage: %0 [dir_params...] DO command
echo Examples: %0 *.* DO type
echo Types all files in the current directory.
echo %0 DO type
echo Types all files in the current directory.
echo %0 /s DO type
echo Types all files in the current directory tree.
echo %0 *.exe DO start /wait /max
echo Runs all EXE files in the current directory, one at a
echo time, waiting for each to finish, in maximized windows.
echo %0 /s /aa c:\*.* DO xcopy /s /m /f
echo Incremental backup. Run with A:\ as the current
echo working directory. Copies all files with archive bit
echo set from the C drive to the current directory tree,
echo clearing the archive bits and echoing the names as
echo the files are copied.
echo %0 /s /a-r DO edit
echo Edit all files that are not readonly in the current
echo directory tree.
goto EXIT

:EXIT

Windows cmd batch copy paste rows

:: RESOLVE THE MAC ADDRESS OF A COMPUTER
for /f "tokens=2* delims=:" %%a in ('ipconfig /all ^| find /i "Physical Address"') do for %%b in (%%a) do set MACAddress=%%b
:: pause

:: RESOLVE THE IP ADDRESS ON A COMPUTER
for /f "tokens=2* delims=:" %%a in ('ipconfig /all ^| find /i "ip address"') do for %%b in (%%a) do set ipaddr=%%b
:: pause

Edit Windows XP Registry

:: Huh ...
:: What a topic heh ...
:: Here copy pastes for the most used edits on Win XP registry

:: Define the username straight from the registry (Requires access to the specified key

reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" tmp.reg
for /f "tokens=2 delims==" %%a in ('find /i "username" tmp.reg') do call stuff


#################################################################
#Here some Perl Registry monging
#First
package SomePackage ;
#Initialize using the proper module (comes with Perl installation )
use Win32::TieRegistry 0.20 qw(
TiedRef $Registry
Delimiter / ArrayValues 1 SplitMultis 1 AllowLoad 1
REG_SZ REG_EXPAND_SZ REG_DWORD REG_BINARY REG_MULTI_SZ
KEY_READ KEY_WRITE KEY_ALL_ACCESS
);


$Registry->{"CUser/Software/Software_provider/Product_name"}= {
"Folder_name" => {
"/Value_name" => [ "$REGVALUEDATA", REG_SZ() ],
},
} or die "I was not able to play with the registry " ;

1;

__END__

#################################################################

Java

Here later on more java stuff

Favorite IT links

PERL



pixigreg.com
Programming Perl--Index
split - perldoc.perl.org

PATTERN_MATCHING



PERL Regular Expressions
Regular Expressions in PERL


THEORY



PERL COOK BOOK
Perl in a Nutshell


PERL_FAQ



perlfaq4 - Data Manipulation


ppm



Installing Perl packages from a local directory using PPM


CGI



Uploading Files Using CGI and Perl [CGI & Perl Tutorials]
Create a file upload facility on your Website, and enable your users to upload content to your Web server. Matt's step-by-step guide gives you the nuts and bolts you need to build your own file uploader.


WINGUI



Win32::GUI
Documentation for Win32::GUI perl extension (Win32::GUI)

Perl in Testing Automation
Gabor Szabo International Perl trainer and developer. Specializing in Automated Quality Assurance and Web backend development.


Windows cleaning

:: Windows has the stupid habid to put a lot of extra stuff on
:: a lot of folders copy paste this post to your startup folder

ECHO.
ECHO Deleting %temp% ....
ECHO.
del %temp%\*.* /f /s /q /a:H /a:A /a:S /a:-

ECHO
ECHO Deleting %systemroot%\Temp\ ....
ECHO

del %systemroot%\Temp\*.* /f /s /q /a:H /a:A /a:S /a:-
del C:\WINDOWS\system32\spool\printers\*.*/ f /s /q /a:H /a:A /a:S /a:-
del "C:\Documents and Settings\%userName%\Application Data\Opera\Opera\profile\cache4\*.*" /f /s /q /a:H /a:A /a:S /a:-

ECHO.
ECHO Emptying Recycleing Bin ....
ECHO.

del %systemDrive%\RECYCLER\*.* /f /s /q /a:H /a:A /a:S /a:-

del "%systemDrive%\Documents and Settings\%userName%\Application Data\Sun\Java\Deployment\tmp\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Sun\Java\Deployment\log\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Sun\Java\Deployment\cache\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Lavasoft\Ad-Aware\Quarantine\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Lavasoft\Ad-Aware\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Kazaa Lite\db\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Microsoft\Dr Watson\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Spybot - Search & Destroy\Backups\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Application Data\Spybot - Search & Destroy\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Local Settings\Temporary Internet Files\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Local Settings\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Local Settings\History\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\Documents and Settings\%userName%\Recent\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\system32\spool\PRINTERS\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\Prefetch\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\pchealth\helpctr\Temp\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\pchealth\helpctr\OfflineCache\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\pchealth\helpctr\Logs\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\Debug\" /f /s /q /a:H /a:A /a:S /a:-
del "%systemDrive%\WINDOWS\Cache\" /f /s /q /a:H /a:A /a:S /a:-





endlocal

HTML

First of all - html is not actually coding ... still one has to have some skills in order to create something visible by himself ...
My first ready web page I created is :
Vantaan R&H Rakenne Oy
Surprise - it is in Finnish, since I live in Helsinki , check out the last link "kuvia kohteistamme" - it is done with a small java program called JAlbum - it is a wanderfull demonstration what everything you could do with java ....
At this momement this program could be downloaded from
JAlbum

2006-07-07

Perl process killer on Windows XP

package ProcessCleaner ;
#Purpose : kill specified processes on Windows XP machine


sub killProcesses {
my @passed_array = shift ;
my @procsToLookFor = split(/ / , @passed_array ); #get the names of the hanging apps to check

for(grep/\S/,`tasklist /v /nh`) {
chomp;my($p,$i,$u,$t)=unpack'A24A8x56A50x14A*',$_;$p="$p $t" unless $t
eq'N/A';$p=~s/ +/ /g;$i+=0;$u=~tr/ /_/;
#debug print"$i $u $p\n" ; #if we want the username who owns that process
foreach (@procsToLookFor) {
if ($p =~m/$_/ig ) #if found searchable
{ print "Killing $p with process ID : $i " ;
$cmd = "taskkill /PID $i /T /F" ;
`$cmd` ; #execute command
sleep 1 ;
}
}
}
} #eof sub killProcesses

#comments suggestions ?!

Purpose of this blog

For the beginning the purpose of this blog will be simple copy paste for code - no offence to anybody - everything on this page might be copy paste from somewhere , where has been said that it is not illigal to ...
The point is ... nothing is stolen. As much as I remember I will mention my sources ...
Most of the stuff is copy pasted and modified by me ... so feel free to copy paste also ...
Any constructive comments on my e-mail on google , which is yordan.georgiev ... pla pla (this is to prevent spam ; )will be appreciated ...

My first post

Hello World !

Heh heh , it took me 60 seconds to create my first blog. Who claims that it is only for nerds ?

Labels

perl (41) Cheat Sheet (25) how-to (24) sql server 2008 (13) windows (13) oracle (12) sql (12) Unix (11) linux (11) cmd windows batch (10) mssql (10) cmd (9) script (9) textpad (9) netezza (8) sql server 2005 (8) cygwin (7) meta data mssql (7) metadata (7) code generation (6) Informatica (5) cheatsheet (5) energy (5) tsql (5) utilities (5) bash (4) excel (4) future (4) generic (4) html (4) perl modules (4) programs (4) settings (4) sh (4) shortcuts (4) поуки (4) принципи (4) Focus Fusion (3) Solaris (3) cool programs (3) development (3) economy (3) example (3) freeware (3) fusion (3) git cheat sheet (3) morphus (3) mssql 2005 (3) nuclear (3) nz (3) parse (3) python (3) sftp (3) sofware development (3) source (3) sqlplus (3) table (3) vim (3) .Net (2) C# (2) China (2) GUI (2) Google (2) GoogleCL (2) Solaris Unix (2) ascii (2) awk (2) batch (2) cas (2) chrome extensions (2) code2html (2) columns (2) configuration (2) conversion (2) duplicates (2) excel shortcuts (2) export (2) file (2) free programs (2) informatica sql repository (2) logging (2) mssql 2008 (2) mysql (2) next big future (2) nsis (2) nz netezza cheat sheet (2) nzsql (2) ora (2) prediction (2) publish (2) release management (2) report (2) security (2) single-click (2) sqlserver 2005 (2) sqlserver 2008 (2) src (2) ssh (2) template (2) tools (2) vba (2) video (2) xlt (2) xml (2) youtube videos (2) *nix (1) .vimrc (1) .virmrc vim settings configs (1) BSD license (1) Bulgaria (1) Dallas (1) Database role (1) Dense plasma focus (1) Deployment (1) ERP (1) ExcelToHtml (1) GD (1) GDP (1) HP-UX (1) Hosting (1) INC (1) IT general (1) ITIL management bullshit-management (1) IZarc (1) Java Web Start (1) JavaScript anchor html jquery (1) Khan Academy (1) LINUX UNIX BASH AND CYGWIN TIPS AND TRICKS (1) Linux Unix rpm cpio build install configure (1) Linux git source build .configure make (1) ListBox (1) MIT HYDROGEN VIRUS (1) OO (1) Obama (1) PowerShell (1) Run-time (1) SDL (1) SIWA (1) SOX (1) Scala (1) Services (1) Stacks (1) SubSonic (1) TED (1) abstractions (1) ansible hosts linux bash (1) ansible linux deployment how-to (1) ansible yum pip python (1) apache (1) apache 2.2 (1) application life cycle (1) architecture (1) archive (1) arguments (1) avatar (1) backup (1) bash Linux open-ssh ssh ssh_server ssh_client public-private key authentication (1) bash perl search and replace (1) bash stub (1) bin (1) biofuels (1) biology (1) books (1) browser (1) bubblesort (1) bugs (1) build (1) byte (1) cas_sql_dev (1) chennai (1) chrome (1) class (1) claut (1) cmdow (1) code generation sqlserver (1) command (1) command line (1) conf (1) confluence (1) console (1) convert (1) cool programs windows free freeware (1) copy-paste (1) csv (1) ctags (1) current local time (1) cygwin X11 port-forwarding mintty xclock Linux Unix X (1) cygwin bash how-to tips_n_tricks (1) cygwin conf how-to (1) data (1) data types (1) db2 cheat sheet (1) db2 starter ibm bash Linux (1) debt (1) diagram (1) dictionaries (1) digital (1) disk (1) disk space (1) documentation (1) dos (1) dubai (1) e-cars (1) electric cars (1) electricity (1) emulate (1) errors (1) exponents (1) export workflow (1) extract (1) fast export (1) fexp (1) file extension (1) file permissions (1) findtag (1) firewall (1) for loop (1) freaky (1) functions (1) fusion research (1) german (1) git gitlab issues handling system (1) google cli (1) google code (1) google command line interface (1) gpg (1) ha (1) head (1) helsinki (1) history (1) hop or flop (1) host-independant (1) how-to Windows cmd time date datetime (1) ibm db2 cognos installation example db deployment provisioning (1) ideas (1) image (1) informatica oracle sql (1) informatica repo sql workflows sessions file source dir (1) informatica source files etl (1) install (1) it management best practices (1) java (1) jump to (1) keyboard shortcuts (1) ksh (1) level (1) linkedin (1) linux bash ansible hosts (1) linux bash commands (1) linux bash how-to shell expansion (1) linux bash shell grep xargs (1) linux bash tips and t ricks (1) linux bash unix cygwin cheatsheet (1) linux bash user accounts password (1) linux bash xargs space (1) linux cheat sheet (1) linux cheat-sheet (1) linux cheatsheet cheat-sheet revised how-to (1) linux how-to non-root vim (1) linux ssh hosts parallel subshell bash oneliner (1) london (1) make (1) me (1) metacolumn (1) metadata functions (1) metaphonre (1) method (1) model (1) movie (1) multithreaded (1) mysql cheat sheet (1) mysql how-to table datatypes (1) n900 (1) nano (1) neteza (1) netezza bash linux nps (1) netezza nps (1) netezza nps nzsql (1) netezza nz Linux bash (1) netezza nz bash linux (1) netezza nz nzsql sql (1) netezza nzsql database db sizes (1) non-password (1) nord pol (1) nps backup nzsql schema (1) number formatting (1) nz db size (1) nz table count rows (1) nzsql date timestamp compare bigint to_date to_char now (1) on-lier (1) one-liners (1) one-to-many (1) oneliners (1) open (1) open source (1) openrowset (1) oracle PL/SQL (1) oracle Perl perl (1) oracle installation usability (1) oracle number formatting format-model ora-sql oracle (1) oracle templates create table (1) oracle trigger generic autoincrement (1) oracle vbox virtual box cheat sheet (1) oracle virtual box cheat sheet (1) outlook (1) parser (1) password (1) paths (1) perl @INC compile-time run-time (1) perl disk usage administration Linux Unix (1) perl modules configuration management (1) permissions (1) php (1) picasa (1) platform (1) postgreSQL how-to (1) powerShell cmd cygwin mintty.exe terminal (1) ppm (1) predictions (1) prices (1) principles (1) productivity (1) project (1) prompt (1) proxy account (1) public private key (1) publishing (1) putty (1) qt (1) read file (1) registry (1) relationship (1) repository (1) rm (1) scp (1) scripts (1) scsi (1) sed (1) sendEmail (1) sh stub (1) shortcuts Windows sql developer Oracle (1) sidebar (1) silicon (1) smtp (1) software procurement (1) sofware (1) sort (1) sql script (1) sql_dev (1) sqlcmd (1) sqlite (1) sqlite3 (1) sshd (1) sshd cygwin (1) stackoverflow (1) stored procedure (1) stub (1) stupidity (1) subroutines (1) svn (1) sysinternals (1) tail (1) tar (1) temp table (1) templates (1) teradata (1) terminal (1) test (1) testing (1) theory (1) thorium (1) time (1) tip (1) title (1) tmux efficiency bash (1) tool (1) ui code prototyping tips and tricks (1) umask Linux Unix bash file permissions chmod (1) url (1) urls (1) user (1) utility (1) utils (1) vb (1) vim perl regex bash search for string (1) vim recursively hacks (1) vim starter (1) vim-cheat-sheet vim cheat-sheet (1) vimeo (1) visual stuio (1) warsaw (1) wiki (1) wikipedia (1) window (1) windows 7 (1) windows 8 (1) windows programs (1) windows reinstall (1) windows utility batch perl space Windows::Clipboard (1) wisdoms (1) workflow (1) worth-reading (1) wrapper (1) xp_cmdshell (1) xslt (1) youtube (1)

Blog Archive

Translate with Google Translate

My Blog List

VideoBar

This content is not yet available over encrypted connections.