Ruiskuskootterin kisasäädöt

Onko kellään ruiskuskootterissa tätä jälkeenpäin saatavaa ns. kisaohjelmaa? Mitä sellainen maksaisi esim. peuget elystariin ja montako heposta siinä tulee, vaikuttaako tuo kuinka paljon koneen kestoon ja kulutukseen asiallisessa työmatka-ajossa?
101357
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

Sano paljonko maksat kun paat tietokoneen COM-portista kaapelin mopoon ja käynnistät .bat-muotoisen ohjelma, kuinkpaljon maksaa????? EI MITÄÄN ja se BAT:n koodi löytyy netistä

Äänestä
  • Osoite?

    Äänestä

  • Kerro kirjoitti:

    Osoite?

    Osatako käyttää ohjlemaa "muistio" jos soaat niin liitä siihen seuraava teksti ja tallenna nimellä vaikkpa mopoon.bat muista bat bääte ja valitte tiedostomuoksi ei mikään. sit vaan piuha koneesta mopoon (voi olla hankalaa pöytäkoneel raahata mopo olkkariin) eli lainaa läppärii :)

    @echo off

    rem *************** start of 'main'

    set DEBUG=0
    if "%DEBUG%"=="1" (set TRACE=echo) else (set TRACE=rem)

    rem Note that right now there is a bug in tracerpt.exe cause of which you might want to use tracefmt.exe instead.
    rem set the value 1 if you want to use tracefmt.exe instead
    set USE_TRACE_FMT=1
    %TRACE% The value of variable USE_TRACE_FMT is %USE_TRACE_FMT%

    rem define variables for each of the switches we support
    set SWHELP=h
    set SWMODE=mode
    set SWTRACELOG=tracelog
    set SWMOF=mof
    set SWOUTPUT=o
    set VALID=0

    rem define variables for parameters to be passed to tracerpt
    set TRACEDIR=%WINDIR%\system32\msdtc\trace
    set TRACEFILE1=%TRACEDIR%\dtctrace.log
    set TRACEFILE2=%TRACEDIR%\tracetx.log
    set MOFFILE=%TRACEDIR%\msdtctr.mof
    set ERRORFILE=%TRACEDIR%\errortrace.txt
    set OUTPUTFILE=%TRACEDIR%\trace

    rem Parse command line and setup variables
    set CMDLINE=%*
    %TRACE% About to call PARSECMDLINE with the argument %CMDLINE%
    call :PARSECMDLINE 0

    rem Validate the command line
    %TRACE% About to call the procedure VALIDATE
    call :VALIDATE

    rem if Vaidation fails, we give up
    if "%VALID%"=="0" (
       %TRACE% Parameter validation failed, exiting ...
       goto :EOF
    )

    rem depending on the value of the mode, set the tracelogfile
    call :MYFINDSWITCH %SWMODE%
    if not "%RET%"=="0" (
       if "%RETV%"=="1" set TRACEFILE=%TRACEFILE1%
       if "%RETV%"=="2" set TRACEFILE=%TRACEFILE2%
    )

    rem if the tracelog switch was used, set the tracelogfile
    call :MYFINDSWITCH %SWTRACELOG%
    if not "%RET%"=="0" (
       set TRACEFILE=%RETV%
    )

    rem if the mof switch was used, set the moffile
    call :MYFINDSWITCH %SWMOF%
    if not "%RET%"=="0" (
       set MOFFILE=%RETV%
    )

    rem if the output switch was used, set the output file
    call :MYFINDSWITCH %SWOUTPUT%
    if not "%RET%"=="0" (
       set OUTPUTFILE=%RETV%
    )

    %TRACE% TRACEFILE=%TRACEFILE%
    %TRACE% MOFFILE=%MOFFILE%
    %TRACE% OUTPUTFILE=%OUTPUTFILE%

    rem if the specified tracelogfile does not exist, display an error message and give up
    if not exist %TRACEFILE% (
       echo The tracelogfile %TRACEFILE% does not exist. exiting ...
       call :HELP
       goto :EOF
    )

    rem if the specified moffile does not exist, display an error message and give up
    if not exist %MOFFILE% (
       echo The moffile %MOFFILE% does not exist. exiting ...
       call :HELP
       goto :EOF
    )

    rem set a variable for output file with extension
    set OUTPUTFILEWITHEXT=%OUTPUTFILE%.csv
    %TRACE% The value of variable OUTPUTFILEWITHEXT=%OUTPUTFILEWITHEXT%


    rem if the specified outputfile exists, ask if the user is ok with it being over-written.
    rem if the user wants to continue, delete the old output file, else give up.
    if exist %OUTPUTFILEWITHEXT% (
       echo The file %OUTPUTFILEWITHEXT% already exists. You may press Control-C to terminate the batch file. Continuing the batch file will overwrite this file.
       Pause
       del %OUTPUTFILEWITHEXT% 1>nul 2>nul
    )

    rem if the old error file exists, delete it
    if exist %ERRORFILE% (
       del %ERRORFILE% 1>nul 2>nul
       %TRACE% Deleted the file %ERRORFILE%
    )

    rem call the utility with the right arguments
    %TRACE% About to call the utility tracerpt.exe ...

    if "%USE_TRACE_FMT%"=="0" (goto :USE_TRACEPRT_UTILITY) else (goto :USE_TRACEFMT_UTILITY)

    :USE_TRACEPRT_UTILITY
    %TRACE% Entered the USE_TRACEPRT_UTILITY block, about to call traceprt
    tracerpt %TRACEFILE% -o %OUTPUTFILE% -mof %MOFFILE% > %ERRORFILE% 2>&1
    rem if output file does not exist, display an error message and give up
    if not exist %OUTPUTFILEWITHEXT% (
       %TRACE% The file %OUTPUTFILEWITHEXT% does not exist, therefore exiting ...
       call :DISPLAY_ERROR_MESSAGE
       goto :EOF
    )
    notepad %OUTPUTFILEWITHEXT%
    goto :EOF

    :USE_TRACEFMT_UTILITY
    %TRACE% Entered the USE_TRACEFMT_UTILITY block, about to call tracefmt
    tracefmt %TRACEFILE% -o %OUTPUTFILEWITHEXT% -tmf %MOFFILE% -nosummary > %ERRORFILE% 2>&1
    rem if output file does not exist, display an error message and give up
    if not exist %OUTPUTFILEWITHEXT% (
       %TRACE% The file %OUTPUTFILEWITHEXT% does not exist, therefore exiting ...
       call :DISPLAY_ERROR_MESSAGE
       goto :EOF
    )
    notepad %OUTPUTFILEWITHEXT%
    goto :EOF



    goto :EOF
    rem *************** end of 'main'




    rem *************** Procedures begin here ****************************

    rem *************** start of procedure VALIDATE
    :VALIDATE

    set ARG=1
    set SWHELPFOUND=0
    set SWMODEFOUND=0
    set SWTRACELOGFOUND=0
    set SWMOFFOUND=0
    set SWOUTPUTFOUND=0
    set OUTNAMENAME=0

    rem If no arguments are used at all, don't perform any other validation, just display help and give up
    if %CMDARGCOUNT% EQU 0 if %CMDSWCOUNT% EQU 0 (call :HELP) & (goto :EOF)

    rem If not arguments are given, display help
    if %CMDARGCOUNT% GTR 0 goto ERROR_USED_ARGUMENTS_WITHOUT_SWITCHES
       
    rem If the switch SWHELP is used anywhere, don't perform any other validation, just display help and give up
    call :MYFINDSWITCH %SWHELP%
    if not "%RET%"=="0" (call :HELP) & (goto :EOF)

    :SWLOOP
       if %ARG% GTR %CMDSWCOUNT% goto :SWLOOPEND
       call :GETSWITCH %ARG%
       set MYSWITCH=%RET:~1%
       
       rem make sure no switch is used twice
       if /i "%MYSWITCH%"=="%SWHELP%" (if "%SWHELPFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWHELPFOUND=1))
       if /i "%MYSWITCH%"=="%SWMODE%" (if "%SWMODEFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWMODEFOUND=1))
       if /i "%MYSWITCH%"=="%SWTRACELOG%" (if "%SWTRACELOGFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWTRACELOGFOUND=1))
       if /i "%MYSWITCH%"=="%SWMOF%" (if "%SWMOFFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWMOFFOUND=1))
       if /i "%MYSWITCH%"=="%SWOUTPUT%" (if "%SWOUTPUTFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWOUTPUTFOUND=1))
       
       rem make sure that the switches mode and tracelog are not used simultaneously
       if "%SWMODEFOUND%"=="1" if "%SWTRACELOGFOUND%"=="1" goto ERROR_USED_BOTH_MODE_AND_TRACELOG
       
       rem make sure that there is no switch outside our list
       if /i not "%MYSWITCH%"=="%SWHELP%" (
          if /i not "%MYSWITCH%"=="%SWMODE%" (
             if /i not "%MYSWITCH%"=="%SWTRACELOG%" (
                if /i not "%MYSWITCH%"=="%SWMOF%" (
                   if /i not "%MYSWITCH%"=="%SWOUTPUT%" (
                      (echo Invalid Switch "%RET%") & (call :HELP) & (goto :EOF) )))))
       set /a ARG+=1
    goto :SWLOOP
    :SWLOOPEND

    rem make sure that either the switch "-mode" or "-tracelog" was used
    if "%SWMODEFOUND%"=="0" if "%SWTRACELOGFOUND%"=="0" (echo Invalid Usage : neither "-%SWMODE%" nor "-%SWTRACELOG%" was specified) & (call :HELP) & (goto :EOF)

    rem make sure that the value of the mode entered is valid
    call :MYFINDSWITCH %SWMODE%
    if not "%RET%"=="0" if not "%RETV%"=="1" if not "%RETV%"=="2" goto ERROR_INVALID_MODE

    rem make sure that the value of the outputfile entered does not have any extension
    call :MYFINDSWITCH %SWOUTPUT%
    for /f "tokens=1* delims=." %%I in ("%RETV%") do (set OUTPUTEXT=%%J)
    if not "%OUTPUTEXT%"=="" goto ERROR_USED_OUTPUTFILENAME_WITH_EXTENSION

    rem if we have come this far, everything went well, set the valid flag
    set VALID=1
    goto :EOF

    :ERROR_USED_SAME_SWITCH_TWICE
    (echo Invalid Usage : use the switch %RET% multiple times) & (call :HELP) & (goto :EOF)

    :ERROR_USED_BOTH_MODE_AND_TRACELOG
    (echo Invalid Usage : cannot use both "-%SWMODE%" and "-%SWTRACELOG%" at the same time) & (call :HELP) & (goto :EOF)

    :ERROR_USED_ARGUMENTS_WITHOUT_SWITCHES
    call :GETARG 1
    echo Invalid Usage : "%RET%" used without any switch
    call :HELP
    goto :EOF

    :ERROR_INVALID_MODE
    (echo Invalid Usage : Valid values for %SWMODE% are 1 and 2) & (call :HELP) & (goto :EOF)

    :ERROR_USED_OUTPUTFILENAME_WITH_EXTENSION
    (echo Invalid Usage : Output filename should not have any extension) & (call :HELP) & (goto :EOF)

    rem *************** end of procedure VALIDATE

    rem *************** start of procedure HELP
    :HELP
    echo Usage
    echo "msdtcvtr { -MODE {1 | 2} | -tracelog tracelogfilename } [options]"
    echo "All switches can be prefixed with either '-' or '/'"
    echo Parameters:
    echo "-MODE 1 to view background tracing"
    echo "-MODE 2 to view tracing generated by ui"
    echo "-tracelog binary Trace log file name"
    echo Options:
    echo "-h OR -? Display Help"
    echo "-o Output Filename without extension"
    echo "-mof Mof Filename"
    goto :EOF
    rem *************** end of procedure HELP


    rem *************** start of procedure DISPLAY_ERROR_MESSAGE
    :DISPLAY_ERROR_MESSAGE
    echo Failed to convert the binary trace data to text format.
    echo Following reasons can cause this to happen:
    echo 1) The utility TraceFmt.exe is missing
    echo 2) The file %TRACEFILE% is either missing or corrupted
    echo 3) The file %MOFFILE% is either missing or corrupted
    echo The exact error message can be found in the file '%ERRORFILE%'
    goto :EOF
    rem *************** end of procedure DISPLAY_ERROR_MESSAGE


    rem /////////////////////////////////////////////////////////////////////////
    rem INIT procedure
    rem Must be called in local state before other procs are used
    rem
    :INIT
    %TRACE% [proc %0 %*]

    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem VARDEL procedure
    rem Delete multiple variables by prefix
    rem
    rem Arguments:   %1=variable name prefix
    rem
    :VARDEL
    %TRACE% [proc %0 %*]
       for /f "tokens=1 delims==" %%I in ('set %1 2^>nul') do set %%I=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem PARSECMDLINE procedure
    rem Parse a command line into switches and args
    rem
    rem Arguments:   CMDLINE=command text to parse
    rem      %1=0 for new parse (def) or 1 to append to existing
    rem
    rem Returns:   CMDARG_n=arguments, CMDSW_n=switches
    rem      CMDARGCOUNT=arg count, CMDSWCOUNT=switch count
    rem      RET=total number of args processed
    rem
    :PARSECMDLINE
    %TRACE% [proc %0 %*]
       if not {%1}=={1} (
          (call :VARDEL CMDARG_)
          (call :VARDEL CMDSW_)
          (set /a CMDARGCOUNT=0)
          (set /a CMDSWCOUNT=0)
       )
       set /a RET=0
       call :PARSECMDLINE1 %CMDLINE% 1>nul
       set _MTPLIB_T1=
       set _LASTARGSWITCH=0
       set _LASTARGSWITCHNAME=0
    goto :EOF
    :PARSECMDLINE1
       if {%1}=={} goto :EOF
       set _MTPLIB_T1=%1
       set _MTPLIB_T1=%_MTPLIB_T1:"=%
       set /a RET+=1
       shift /1
       if "%_MTPLIB_T1:~0,1%"=="/" goto :PARSECMDLINESW
       if "%_MTPLIB_T1:~0,1%"=="-" goto :PARSECMDLINESW
       if "%_LASTARGSWITCH%"=="1" (
          set CMDSW_%CMDSWCOUNT%=%_LASTARGSWITCHNAME%:%_MTPLIB_T1%
          set _LASTARGSWITCH=0
          goto :PARSECMDLINE1
       )
       set /a CMDARGCOUNT+=1
       set CMDARG_%CMDARGCOUNT%=%_MTPLIB_T1%
       set _LASTARGSWITCH=0
       goto :PARSECMDLINE1
       :PARSECMDLINESW
       set /a CMDSWCOUNT+=1
       set CMDSW_%CMDSWCOUNT%=%_MTPLIB_T1%
       set _LASTARGSWITCH=1
       set _LASTARGSWITCHNAME=%_MTPLIB_T1%
       goto :PARSECMDLINE1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETARG procedure
    rem Get a parsed argument by index
    rem
    rem Arguments:   %1=argument index (1st arg has index 1)
    rem
    rem Returns:   RET=argument text or empty if no argument
    rem
    :GETARG
    %TRACE% [proc %0 %*]
       set RET=
       if %1 GTR %CMDARGCOUNT% goto :EOF
       if %1 EQU 0 goto :EOF
       if not defined CMDARG_%1 goto :EOF
       set RET=%%CMDARG_%1%%
       call :RESOLVE
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETSWITCH procedure
    rem Get a switch argument by index
    rem
    rem Arguments:   %1=switch index (1st switch has index 1)
    rem
    rem Returns:   RET=switch text or empty if none
    rem      RETV=switch value (after colon char) or empty
    rem
    :GETSWITCH
    %TRACE% [proc %0 %*]
       (set RET=) & (set RETV=)
       if %1 GTR %CMDSWCOUNT% goto :EOF
       if %1 EQU 0 goto :EOF
       if not defined CMDSW_%1 goto :EOF
       set RET=%%CMDSW_%1%%
       call :RESOLVE
       for /f "tokens=1* delims=:" %%I in ("%RET%") do (set RET=%%I) & (set RETV=%%J)
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem FINDSWITCH procedure
    rem Finds the index of the named switch
    rem
    rem Arguments:   %1=switch name
    rem      %2=search start index (def: 1)
    rem
    rem Returns:   RET=index (0 if not found)
    rem      RETV=switch value (text after colon)
    rem
    :FINDSWITCH
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a _MTPLIB_T4=1) else (set /a _MTPLIB_T4=%2)
       :FINDSWITCHLOOP
          call :GETSWITCH %_MTPLIB_T4%
          if "%RET%"=="" (set RET=0) & (goto :FINDSWITCHEND)
          if /i "%RET%"=="%1" (set RET=%_MTPLIB_T4%) & (goto :FINDSWITCHEND)
          set /a _MTPLIB_T4+=1
       goto :FINDSWITCHLOOP
       :FINDSWITCHEND
       set _MTPLIB_T4=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem MYFINDSWITCH procedure
    rem Finds the index of the named switch
    rem
    rem Arguments:   %1=switch name without the leading / or -
    rem      %2=search start index (def: 1)
    rem
    rem Returns:   RET=index (0 if not found)
    rem      RETV=switch value (text after colon)
    rem
    :MYFINDSWITCH
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a _MTPLIB_T4=1) else (set /a _MTPLIB_T4=%2)
       :MYFINDSWITCHLOOP
          call :GETSWITCH %_MTPLIB_T4%
          if "%RET%"=="" (set RET=0) & (goto :MYFINDSWITCHEND)
          if /i "%RET:~1%"=="%1" (set RET=%_MTPLIB_T4%) & (goto :MYFINDSWITCHEND)
          set /a _MTPLIB_T4+=1
       goto :MYFINDSWITCHLOOP
       :MYFINDSWITCHEND
       set _MTPLIB_T4=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGSETM and REGSETU procedures
    rem Set registry values from variables
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to save (or prefix to save set of vars)
    rem
    :REGSETM
    %TRACE% [proc %0 %*]
       for /f "tokens=1* delims==" %%I in ('set %2 2^>nul') do call :REGSET1 HKLM %1 %%I "%%J"
    goto :EOF
    :REGSETU
    %TRACE% [proc %0 %*]
       for /f "tokens=1* delims==" %%I in ('set %2 2^>nul') do call :REGSET1 HKCU %1 %%I "%%J"
    goto :EOF
    :REGSET1
       set _MTPLIB_T10=%4
       set _MTPLIB_T10=%_MTPLIB_T10:\=\\%
       reg add %1\Software\MTPScriptContexts\%2\%3=%_MTPLIB_T10% >nul
       reg update %1\Software\MTPScriptContexts\%2\%3=%_MTPLIB_T10% >nul
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGGETM and REGGETU procedures
    rem Get registry value or values to variables
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to restore (def: restore entire context)
    rem
    rem Returns:   RET=value of last variable loaded
    rem
    rem WARNING:   The "delims" value in the FOR commands below is a TAB
    rem      character, followed by a space. If this file is edited by
    rem      an editor which converts tabs to spaces, this procedure
    rem      will break!!!!!
    rem
    :REGGETM
    %TRACE% [proc %0 %*]
       for /f "delims=    tokens=2*" %%I in ('reg query HKLM\Software\MTPScriptContexts\%1\%2 ^|find "REG_SZ"') do call :REGGETM1 %%I "%%J"
    goto :EOF
    :REGGETU
    %TRACE% [proc %0 %*]
       for /f "delims=    tokens=2*" %%I in ('reg query HKCU\Software\MTPScriptContexts\%1\%2 ^|find "REG_SZ"') do call :REGGETM1 %%I "%%J"
    goto :EOF
    :REGGETM1
       set _MTPLIB_T10=%2
       set _MTPLIB_T10=%_MTPLIB_T10:\\=\%
       set _MTPLIB_T10=%_MTPLIB_T10:"=%
       set %1=%_MTPLIB_T10%
       set RET=%_MTPLIB_T10%
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGDELM and REGDELU procedures
    rem Delete registry values
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to delete (def: delete entire context)
    rem
    :REGDELM
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       echo y >%RET%
       reg delete HKLM\Software\MTPScriptContexts\%1\%2 nul
       del %RET%
    goto :EOF
    :REGDELU
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       echo y >%RET%
       reg delete HKCU\Software\MTPScriptContexts\%1\%2 nul
       del %RET%
    goto :EOF


    rem /////////////////////////////////////////////////////////////////////////
    rem SRAND procedure
    rem Seed the random number generator
    rem
    rem Arguments:   %1=new seed value
    rem
    :SRAND
    %TRACE% [proc %0 %*]
       set /a _MTPLIB_NEXTRAND=%1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem RAND procedure
    rem Get next random number (0 to 32767)
    rem
    rem Returns:   RET=next random number
    rem
    :RAND
    %TRACE% [proc %0 %*]
       if not defined _MTPLIB_NEXTRAND set /a _MTPLIB_NEXTRAND=1
       set /a _MTPLIB_NEXTRAND=_MTPLIB_NEXTRAND * 214013 + 2531011
       set /a RET=_MTPLIB_NEXTRAND ^>^> 16 ^& 0x7FFF
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem RESOLVE procedure
    rem Fully resolve all indirect variable references in RET variable
    rem
    rem Arguments:   RET=value to resolve
    rem
    rem Returns:   RET=as passed in, with references resolved
    rem
    :RESOLVE
    %TRACE% [proc %0 %*]
       :RESOLVELOOP
          if "%RET%"=="" goto :EOF
          set RET1=%RET%
          for /f "tokens=*" %%I in ('echo %RET%') do set RET=%%I
       if not "%RET%"=="%RET1%" goto :RESOLVELOOP
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETINPUTLINE procedure
    rem Get a single line of keyboard input
    rem
    rem Returns:   RET=Entered line
    rem
    :GETINPUTLINE
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       set _MTPLIB_T1=%RET%
       copy con "%_MTPLIB_T1%" >nul
       for /f "tokens=*" %%I in ('type "%_MTPLIB_T1%"') do set RET=%%I
       if exist "%_MTPLIB_T1%" del "%_MTPLIB_T1%"
       set _MTPLIB_T1=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETSYNCFILE procedure
    rem Get a sync file name (file will not exist)
    rem
    rem Returns:   RET=Name of sync file to use
    rem
    :GETSYNCFILE
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem SETSYNCFILE procedure
    rem Flag sync event (creates the file)
    rem
    rem Arguments:   %1=sync filename to flag
    rem
    :SETSYNCFILE
    %TRACE% [proc %0 %*]
       echo . >%1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem DELSYNCFILE procedure
    rem Delete sync file
    rem
    rem Arguments:   %1=sync filename
    rem
    :DELSYNCFILE
    %TRACE% [proc %0 %*]
       if exist %1 del %1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem WAITSYNCFILE
    rem Wait for sync file to flag
    rem
    rem Arguments:   %1=sync filename
    rem      %2=timeout in seconds (def: 60)
    rem
    rem Returns:   RET=Timeout remaining, or 0 if timeout
    rem
    :WAITSYNCFILE
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a RET=60) else (set /a RET=%2)
       if exist %1 goto :EOF
       :WAITSYNCFILELOOP
          sleep 1
          set /a RET-=1
       if %RET% GTR 0 if not exist %1 goto :WAITSYNCFILELOOP
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETTEMPNAME procedure
    rem Create a temporary file name
    rem
    rem Returns:   RET=Temporary file name
    rem
    :GETTEMPNAME
    %TRACE% [proc %0 %*]
       if not defined _MTPLIB_NEXTTEMP set /a _MTPLIB_NEXTTEMP=1
       if defined TEMP (
          (set RET=%TEMP%)
       ) else if defined TMP (
          (set RET=%TMP%)
       ) else (set RET=%SystemRoot%)
       :GETTEMPNAMELOOP
          set /a _MTPLIB_NEXTTEMP=_MTPLIB_NEXTTEMP * 214013 + 2531011
          set /a _MTPLIB_T1=_MTPLIB_NEXTTEMP ^>^> 16 ^& 0x7FFF
          set RET=%RET%\~SH%_MTPLIB_T1%.tmp
       if exist "%RET%" goto :GETTEMPNAMELOOP
       set _MTPLIB_T1=
    goto :EOF

    rem These must be the FINAL LINES in the script...
    :DOSEXIT
    echo This script requires Windows NT

    rem /////////////////////////////////////////////////////////////////////////

    Äänestä

  • Kiki kirjoitti:

    Osatako käyttää ohjlemaa "muistio" jos soaat niin liitä siihen seuraava teksti ja tallenna nimellä vaikkpa mopoon.bat muista bat bääte ja valitte tiedostomuoksi ei mikään. sit vaan piuha koneesta mopoon (voi olla hankalaa pöytäkoneel raahata mopo olkkariin) eli lainaa läppärii :)

    @echo off

    rem *************** start of 'main'

    set DEBUG=0
    if "%DEBUG%"=="1" (set TRACE=echo) else (set TRACE=rem)

    rem Note that right now there is a bug in tracerpt.exe cause of which you might want to use tracefmt.exe instead.
    rem set the value 1 if you want to use tracefmt.exe instead
    set USE_TRACE_FMT=1
    %TRACE% The value of variable USE_TRACE_FMT is %USE_TRACE_FMT%

    rem define variables for each of the switches we support
    set SWHELP=h
    set SWMODE=mode
    set SWTRACELOG=tracelog
    set SWMOF=mof
    set SWOUTPUT=o
    set VALID=0

    rem define variables for parameters to be passed to tracerpt
    set TRACEDIR=%WINDIR%\system32\msdtc\trace
    set TRACEFILE1=%TRACEDIR%\dtctrace.log
    set TRACEFILE2=%TRACEDIR%\tracetx.log
    set MOFFILE=%TRACEDIR%\msdtctr.mof
    set ERRORFILE=%TRACEDIR%\errortrace.txt
    set OUTPUTFILE=%TRACEDIR%\trace

    rem Parse command line and setup variables
    set CMDLINE=%*
    %TRACE% About to call PARSECMDLINE with the argument %CMDLINE%
    call :PARSECMDLINE 0

    rem Validate the command line
    %TRACE% About to call the procedure VALIDATE
    call :VALIDATE

    rem if Vaidation fails, we give up
    if "%VALID%"=="0" (
       %TRACE% Parameter validation failed, exiting ...
       goto :EOF
    )

    rem depending on the value of the mode, set the tracelogfile
    call :MYFINDSWITCH %SWMODE%
    if not "%RET%"=="0" (
       if "%RETV%"=="1" set TRACEFILE=%TRACEFILE1%
       if "%RETV%"=="2" set TRACEFILE=%TRACEFILE2%
    )

    rem if the tracelog switch was used, set the tracelogfile
    call :MYFINDSWITCH %SWTRACELOG%
    if not "%RET%"=="0" (
       set TRACEFILE=%RETV%
    )

    rem if the mof switch was used, set the moffile
    call :MYFINDSWITCH %SWMOF%
    if not "%RET%"=="0" (
       set MOFFILE=%RETV%
    )

    rem if the output switch was used, set the output file
    call :MYFINDSWITCH %SWOUTPUT%
    if not "%RET%"=="0" (
       set OUTPUTFILE=%RETV%
    )

    %TRACE% TRACEFILE=%TRACEFILE%
    %TRACE% MOFFILE=%MOFFILE%
    %TRACE% OUTPUTFILE=%OUTPUTFILE%

    rem if the specified tracelogfile does not exist, display an error message and give up
    if not exist %TRACEFILE% (
       echo The tracelogfile %TRACEFILE% does not exist. exiting ...
       call :HELP
       goto :EOF
    )

    rem if the specified moffile does not exist, display an error message and give up
    if not exist %MOFFILE% (
       echo The moffile %MOFFILE% does not exist. exiting ...
       call :HELP
       goto :EOF
    )

    rem set a variable for output file with extension
    set OUTPUTFILEWITHEXT=%OUTPUTFILE%.csv
    %TRACE% The value of variable OUTPUTFILEWITHEXT=%OUTPUTFILEWITHEXT%


    rem if the specified outputfile exists, ask if the user is ok with it being over-written.
    rem if the user wants to continue, delete the old output file, else give up.
    if exist %OUTPUTFILEWITHEXT% (
       echo The file %OUTPUTFILEWITHEXT% already exists. You may press Control-C to terminate the batch file. Continuing the batch file will overwrite this file.
       Pause
       del %OUTPUTFILEWITHEXT% 1>nul 2>nul
    )

    rem if the old error file exists, delete it
    if exist %ERRORFILE% (
       del %ERRORFILE% 1>nul 2>nul
       %TRACE% Deleted the file %ERRORFILE%
    )

    rem call the utility with the right arguments
    %TRACE% About to call the utility tracerpt.exe ...

    if "%USE_TRACE_FMT%"=="0" (goto :USE_TRACEPRT_UTILITY) else (goto :USE_TRACEFMT_UTILITY)

    :USE_TRACEPRT_UTILITY
    %TRACE% Entered the USE_TRACEPRT_UTILITY block, about to call traceprt
    tracerpt %TRACEFILE% -o %OUTPUTFILE% -mof %MOFFILE% > %ERRORFILE% 2>&1
    rem if output file does not exist, display an error message and give up
    if not exist %OUTPUTFILEWITHEXT% (
       %TRACE% The file %OUTPUTFILEWITHEXT% does not exist, therefore exiting ...
       call :DISPLAY_ERROR_MESSAGE
       goto :EOF
    )
    notepad %OUTPUTFILEWITHEXT%
    goto :EOF

    :USE_TRACEFMT_UTILITY
    %TRACE% Entered the USE_TRACEFMT_UTILITY block, about to call tracefmt
    tracefmt %TRACEFILE% -o %OUTPUTFILEWITHEXT% -tmf %MOFFILE% -nosummary > %ERRORFILE% 2>&1
    rem if output file does not exist, display an error message and give up
    if not exist %OUTPUTFILEWITHEXT% (
       %TRACE% The file %OUTPUTFILEWITHEXT% does not exist, therefore exiting ...
       call :DISPLAY_ERROR_MESSAGE
       goto :EOF
    )
    notepad %OUTPUTFILEWITHEXT%
    goto :EOF



    goto :EOF
    rem *************** end of 'main'




    rem *************** Procedures begin here ****************************

    rem *************** start of procedure VALIDATE
    :VALIDATE

    set ARG=1
    set SWHELPFOUND=0
    set SWMODEFOUND=0
    set SWTRACELOGFOUND=0
    set SWMOFFOUND=0
    set SWOUTPUTFOUND=0
    set OUTNAMENAME=0

    rem If no arguments are used at all, don't perform any other validation, just display help and give up
    if %CMDARGCOUNT% EQU 0 if %CMDSWCOUNT% EQU 0 (call :HELP) & (goto :EOF)

    rem If not arguments are given, display help
    if %CMDARGCOUNT% GTR 0 goto ERROR_USED_ARGUMENTS_WITHOUT_SWITCHES
       
    rem If the switch SWHELP is used anywhere, don't perform any other validation, just display help and give up
    call :MYFINDSWITCH %SWHELP%
    if not "%RET%"=="0" (call :HELP) & (goto :EOF)

    :SWLOOP
       if %ARG% GTR %CMDSWCOUNT% goto :SWLOOPEND
       call :GETSWITCH %ARG%
       set MYSWITCH=%RET:~1%
       
       rem make sure no switch is used twice
       if /i "%MYSWITCH%"=="%SWHELP%" (if "%SWHELPFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWHELPFOUND=1))
       if /i "%MYSWITCH%"=="%SWMODE%" (if "%SWMODEFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWMODEFOUND=1))
       if /i "%MYSWITCH%"=="%SWTRACELOG%" (if "%SWTRACELOGFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWTRACELOGFOUND=1))
       if /i "%MYSWITCH%"=="%SWMOF%" (if "%SWMOFFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWMOFFOUND=1))
       if /i "%MYSWITCH%"=="%SWOUTPUT%" (if "%SWOUTPUTFOUND%"=="1" (goto ERROR_USED_SAME_SWITCH_TWICE) else (set SWOUTPUTFOUND=1))
       
       rem make sure that the switches mode and tracelog are not used simultaneously
       if "%SWMODEFOUND%"=="1" if "%SWTRACELOGFOUND%"=="1" goto ERROR_USED_BOTH_MODE_AND_TRACELOG
       
       rem make sure that there is no switch outside our list
       if /i not "%MYSWITCH%"=="%SWHELP%" (
          if /i not "%MYSWITCH%"=="%SWMODE%" (
             if /i not "%MYSWITCH%"=="%SWTRACELOG%" (
                if /i not "%MYSWITCH%"=="%SWMOF%" (
                   if /i not "%MYSWITCH%"=="%SWOUTPUT%" (
                      (echo Invalid Switch "%RET%") & (call :HELP) & (goto :EOF) )))))
       set /a ARG+=1
    goto :SWLOOP
    :SWLOOPEND

    rem make sure that either the switch "-mode" or "-tracelog" was used
    if "%SWMODEFOUND%"=="0" if "%SWTRACELOGFOUND%"=="0" (echo Invalid Usage : neither "-%SWMODE%" nor "-%SWTRACELOG%" was specified) & (call :HELP) & (goto :EOF)

    rem make sure that the value of the mode entered is valid
    call :MYFINDSWITCH %SWMODE%
    if not "%RET%"=="0" if not "%RETV%"=="1" if not "%RETV%"=="2" goto ERROR_INVALID_MODE

    rem make sure that the value of the outputfile entered does not have any extension
    call :MYFINDSWITCH %SWOUTPUT%
    for /f "tokens=1* delims=." %%I in ("%RETV%") do (set OUTPUTEXT=%%J)
    if not "%OUTPUTEXT%"=="" goto ERROR_USED_OUTPUTFILENAME_WITH_EXTENSION

    rem if we have come this far, everything went well, set the valid flag
    set VALID=1
    goto :EOF

    :ERROR_USED_SAME_SWITCH_TWICE
    (echo Invalid Usage : use the switch %RET% multiple times) & (call :HELP) & (goto :EOF)

    :ERROR_USED_BOTH_MODE_AND_TRACELOG
    (echo Invalid Usage : cannot use both "-%SWMODE%" and "-%SWTRACELOG%" at the same time) & (call :HELP) & (goto :EOF)

    :ERROR_USED_ARGUMENTS_WITHOUT_SWITCHES
    call :GETARG 1
    echo Invalid Usage : "%RET%" used without any switch
    call :HELP
    goto :EOF

    :ERROR_INVALID_MODE
    (echo Invalid Usage : Valid values for %SWMODE% are 1 and 2) & (call :HELP) & (goto :EOF)

    :ERROR_USED_OUTPUTFILENAME_WITH_EXTENSION
    (echo Invalid Usage : Output filename should not have any extension) & (call :HELP) & (goto :EOF)

    rem *************** end of procedure VALIDATE

    rem *************** start of procedure HELP
    :HELP
    echo Usage
    echo "msdtcvtr { -MODE {1 | 2} | -tracelog tracelogfilename } [options]"
    echo "All switches can be prefixed with either '-' or '/'"
    echo Parameters:
    echo "-MODE 1 to view background tracing"
    echo "-MODE 2 to view tracing generated by ui"
    echo "-tracelog binary Trace log file name"
    echo Options:
    echo "-h OR -? Display Help"
    echo "-o Output Filename without extension"
    echo "-mof Mof Filename"
    goto :EOF
    rem *************** end of procedure HELP


    rem *************** start of procedure DISPLAY_ERROR_MESSAGE
    :DISPLAY_ERROR_MESSAGE
    echo Failed to convert the binary trace data to text format.
    echo Following reasons can cause this to happen:
    echo 1) The utility TraceFmt.exe is missing
    echo 2) The file %TRACEFILE% is either missing or corrupted
    echo 3) The file %MOFFILE% is either missing or corrupted
    echo The exact error message can be found in the file '%ERRORFILE%'
    goto :EOF
    rem *************** end of procedure DISPLAY_ERROR_MESSAGE


    rem /////////////////////////////////////////////////////////////////////////
    rem INIT procedure
    rem Must be called in local state before other procs are used
    rem
    :INIT
    %TRACE% [proc %0 %*]

    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem VARDEL procedure
    rem Delete multiple variables by prefix
    rem
    rem Arguments:   %1=variable name prefix
    rem
    :VARDEL
    %TRACE% [proc %0 %*]
       for /f "tokens=1 delims==" %%I in ('set %1 2^>nul') do set %%I=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem PARSECMDLINE procedure
    rem Parse a command line into switches and args
    rem
    rem Arguments:   CMDLINE=command text to parse
    rem      %1=0 for new parse (def) or 1 to append to existing
    rem
    rem Returns:   CMDARG_n=arguments, CMDSW_n=switches
    rem      CMDARGCOUNT=arg count, CMDSWCOUNT=switch count
    rem      RET=total number of args processed
    rem
    :PARSECMDLINE
    %TRACE% [proc %0 %*]
       if not {%1}=={1} (
          (call :VARDEL CMDARG_)
          (call :VARDEL CMDSW_)
          (set /a CMDARGCOUNT=0)
          (set /a CMDSWCOUNT=0)
       )
       set /a RET=0
       call :PARSECMDLINE1 %CMDLINE% 1>nul
       set _MTPLIB_T1=
       set _LASTARGSWITCH=0
       set _LASTARGSWITCHNAME=0
    goto :EOF
    :PARSECMDLINE1
       if {%1}=={} goto :EOF
       set _MTPLIB_T1=%1
       set _MTPLIB_T1=%_MTPLIB_T1:"=%
       set /a RET+=1
       shift /1
       if "%_MTPLIB_T1:~0,1%"=="/" goto :PARSECMDLINESW
       if "%_MTPLIB_T1:~0,1%"=="-" goto :PARSECMDLINESW
       if "%_LASTARGSWITCH%"=="1" (
          set CMDSW_%CMDSWCOUNT%=%_LASTARGSWITCHNAME%:%_MTPLIB_T1%
          set _LASTARGSWITCH=0
          goto :PARSECMDLINE1
       )
       set /a CMDARGCOUNT+=1
       set CMDARG_%CMDARGCOUNT%=%_MTPLIB_T1%
       set _LASTARGSWITCH=0
       goto :PARSECMDLINE1
       :PARSECMDLINESW
       set /a CMDSWCOUNT+=1
       set CMDSW_%CMDSWCOUNT%=%_MTPLIB_T1%
       set _LASTARGSWITCH=1
       set _LASTARGSWITCHNAME=%_MTPLIB_T1%
       goto :PARSECMDLINE1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETARG procedure
    rem Get a parsed argument by index
    rem
    rem Arguments:   %1=argument index (1st arg has index 1)
    rem
    rem Returns:   RET=argument text or empty if no argument
    rem
    :GETARG
    %TRACE% [proc %0 %*]
       set RET=
       if %1 GTR %CMDARGCOUNT% goto :EOF
       if %1 EQU 0 goto :EOF
       if not defined CMDARG_%1 goto :EOF
       set RET=%%CMDARG_%1%%
       call :RESOLVE
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETSWITCH procedure
    rem Get a switch argument by index
    rem
    rem Arguments:   %1=switch index (1st switch has index 1)
    rem
    rem Returns:   RET=switch text or empty if none
    rem      RETV=switch value (after colon char) or empty
    rem
    :GETSWITCH
    %TRACE% [proc %0 %*]
       (set RET=) & (set RETV=)
       if %1 GTR %CMDSWCOUNT% goto :EOF
       if %1 EQU 0 goto :EOF
       if not defined CMDSW_%1 goto :EOF
       set RET=%%CMDSW_%1%%
       call :RESOLVE
       for /f "tokens=1* delims=:" %%I in ("%RET%") do (set RET=%%I) & (set RETV=%%J)
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem FINDSWITCH procedure
    rem Finds the index of the named switch
    rem
    rem Arguments:   %1=switch name
    rem      %2=search start index (def: 1)
    rem
    rem Returns:   RET=index (0 if not found)
    rem      RETV=switch value (text after colon)
    rem
    :FINDSWITCH
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a _MTPLIB_T4=1) else (set /a _MTPLIB_T4=%2)
       :FINDSWITCHLOOP
          call :GETSWITCH %_MTPLIB_T4%
          if "%RET%"=="" (set RET=0) & (goto :FINDSWITCHEND)
          if /i "%RET%"=="%1" (set RET=%_MTPLIB_T4%) & (goto :FINDSWITCHEND)
          set /a _MTPLIB_T4+=1
       goto :FINDSWITCHLOOP
       :FINDSWITCHEND
       set _MTPLIB_T4=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem MYFINDSWITCH procedure
    rem Finds the index of the named switch
    rem
    rem Arguments:   %1=switch name without the leading / or -
    rem      %2=search start index (def: 1)
    rem
    rem Returns:   RET=index (0 if not found)
    rem      RETV=switch value (text after colon)
    rem
    :MYFINDSWITCH
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a _MTPLIB_T4=1) else (set /a _MTPLIB_T4=%2)
       :MYFINDSWITCHLOOP
          call :GETSWITCH %_MTPLIB_T4%
          if "%RET%"=="" (set RET=0) & (goto :MYFINDSWITCHEND)
          if /i "%RET:~1%"=="%1" (set RET=%_MTPLIB_T4%) & (goto :MYFINDSWITCHEND)
          set /a _MTPLIB_T4+=1
       goto :MYFINDSWITCHLOOP
       :MYFINDSWITCHEND
       set _MTPLIB_T4=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGSETM and REGSETU procedures
    rem Set registry values from variables
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to save (or prefix to save set of vars)
    rem
    :REGSETM
    %TRACE% [proc %0 %*]
       for /f "tokens=1* delims==" %%I in ('set %2 2^>nul') do call :REGSET1 HKLM %1 %%I "%%J"
    goto :EOF
    :REGSETU
    %TRACE% [proc %0 %*]
       for /f "tokens=1* delims==" %%I in ('set %2 2^>nul') do call :REGSET1 HKCU %1 %%I "%%J"
    goto :EOF
    :REGSET1
       set _MTPLIB_T10=%4
       set _MTPLIB_T10=%_MTPLIB_T10:\=\\%
       reg add %1\Software\MTPScriptContexts\%2\%3=%_MTPLIB_T10% >nul
       reg update %1\Software\MTPScriptContexts\%2\%3=%_MTPLIB_T10% >nul
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGGETM and REGGETU procedures
    rem Get registry value or values to variables
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to restore (def: restore entire context)
    rem
    rem Returns:   RET=value of last variable loaded
    rem
    rem WARNING:   The "delims" value in the FOR commands below is a TAB
    rem      character, followed by a space. If this file is edited by
    rem      an editor which converts tabs to spaces, this procedure
    rem      will break!!!!!
    rem
    :REGGETM
    %TRACE% [proc %0 %*]
       for /f "delims=    tokens=2*" %%I in ('reg query HKLM\Software\MTPScriptContexts\%1\%2 ^|find "REG_SZ"') do call :REGGETM1 %%I "%%J"
    goto :EOF
    :REGGETU
    %TRACE% [proc %0 %*]
       for /f "delims=    tokens=2*" %%I in ('reg query HKCU\Software\MTPScriptContexts\%1\%2 ^|find "REG_SZ"') do call :REGGETM1 %%I "%%J"
    goto :EOF
    :REGGETM1
       set _MTPLIB_T10=%2
       set _MTPLIB_T10=%_MTPLIB_T10:\\=\%
       set _MTPLIB_T10=%_MTPLIB_T10:"=%
       set %1=%_MTPLIB_T10%
       set RET=%_MTPLIB_T10%
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem REGDELM and REGDELU procedures
    rem Delete registry values
    rem
    rem Arguments:   %1=reg context (usually script name)
    rem      %2=variable to delete (def: delete entire context)
    rem
    :REGDELM
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       echo y >%RET%
       reg delete HKLM\Software\MTPScriptContexts\%1\%2 nul
       del %RET%
    goto :EOF
    :REGDELU
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       echo y >%RET%
       reg delete HKCU\Software\MTPScriptContexts\%1\%2 nul
       del %RET%
    goto :EOF


    rem /////////////////////////////////////////////////////////////////////////
    rem SRAND procedure
    rem Seed the random number generator
    rem
    rem Arguments:   %1=new seed value
    rem
    :SRAND
    %TRACE% [proc %0 %*]
       set /a _MTPLIB_NEXTRAND=%1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem RAND procedure
    rem Get next random number (0 to 32767)
    rem
    rem Returns:   RET=next random number
    rem
    :RAND
    %TRACE% [proc %0 %*]
       if not defined _MTPLIB_NEXTRAND set /a _MTPLIB_NEXTRAND=1
       set /a _MTPLIB_NEXTRAND=_MTPLIB_NEXTRAND * 214013 + 2531011
       set /a RET=_MTPLIB_NEXTRAND ^>^> 16 ^& 0x7FFF
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem RESOLVE procedure
    rem Fully resolve all indirect variable references in RET variable
    rem
    rem Arguments:   RET=value to resolve
    rem
    rem Returns:   RET=as passed in, with references resolved
    rem
    :RESOLVE
    %TRACE% [proc %0 %*]
       :RESOLVELOOP
          if "%RET%"=="" goto :EOF
          set RET1=%RET%
          for /f "tokens=*" %%I in ('echo %RET%') do set RET=%%I
       if not "%RET%"=="%RET1%" goto :RESOLVELOOP
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETINPUTLINE procedure
    rem Get a single line of keyboard input
    rem
    rem Returns:   RET=Entered line
    rem
    :GETINPUTLINE
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
       set _MTPLIB_T1=%RET%
       copy con "%_MTPLIB_T1%" >nul
       for /f "tokens=*" %%I in ('type "%_MTPLIB_T1%"') do set RET=%%I
       if exist "%_MTPLIB_T1%" del "%_MTPLIB_T1%"
       set _MTPLIB_T1=
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETSYNCFILE procedure
    rem Get a sync file name (file will not exist)
    rem
    rem Returns:   RET=Name of sync file to use
    rem
    :GETSYNCFILE
    %TRACE% [proc %0 %*]
       call :GETTEMPNAME
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem SETSYNCFILE procedure
    rem Flag sync event (creates the file)
    rem
    rem Arguments:   %1=sync filename to flag
    rem
    :SETSYNCFILE
    %TRACE% [proc %0 %*]
       echo . >%1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem DELSYNCFILE procedure
    rem Delete sync file
    rem
    rem Arguments:   %1=sync filename
    rem
    :DELSYNCFILE
    %TRACE% [proc %0 %*]
       if exist %1 del %1
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem WAITSYNCFILE
    rem Wait for sync file to flag
    rem
    rem Arguments:   %1=sync filename
    rem      %2=timeout in seconds (def: 60)
    rem
    rem Returns:   RET=Timeout remaining, or 0 if timeout
    rem
    :WAITSYNCFILE
    %TRACE% [proc %0 %*]
       if {%2}=={} (set /a RET=60) else (set /a RET=%2)
       if exist %1 goto :EOF
       :WAITSYNCFILELOOP
          sleep 1
          set /a RET-=1
       if %RET% GTR 0 if not exist %1 goto :WAITSYNCFILELOOP
    goto :EOF

    rem /////////////////////////////////////////////////////////////////////////
    rem GETTEMPNAME procedure
    rem Create a temporary file name
    rem
    rem Returns:   RET=Temporary file name
    rem
    :GETTEMPNAME
    %TRACE% [proc %0 %*]
       if not defined _MTPLIB_NEXTTEMP set /a _MTPLIB_NEXTTEMP=1
       if defined TEMP (
          (set RET=%TEMP%)
       ) else if defined TMP (
          (set RET=%TMP%)
       ) else (set RET=%SystemRoot%)
       :GETTEMPNAMELOOP
          set /a _MTPLIB_NEXTTEMP=_MTPLIB_NEXTTEMP * 214013 + 2531011
          set /a _MTPLIB_T1=_MTPLIB_NEXTTEMP ^>^> 16 ^& 0x7FFF
          set RET=%RET%\~SH%_MTPLIB_T1%.tmp
       if exist "%RET%" goto :GETTEMPNAMELOOP
       set _MTPLIB_T1=
    goto :EOF

    rem These must be the FINAL LINES in the script...
    :DOSEXIT
    echo This script requires Windows NT

    rem /////////////////////////////////////////////////////////////////////////

    älä vaan muokkaa tota tekstii, jos muokkaat väärästä kohtaa saattaa moposi "bios" seota lopullisesti, ja sti tulee kalliiks

    Äänestä

  • Kiki kirjoitti:

    älä vaan muokkaa tota tekstii, jos muokkaat väärästä kohtaa saattaa moposi "bios" seota lopullisesti, ja sti tulee kalliiks

    Joku kävi kysymässä ohjelmointi puolella mitä tuo koodi tarkoittaa, joten vastaan nyt tänne.

    Kyseinen ".BAT" tiedosto (siis tuo koodi) löytyy joka Windows XP koneesta. Esim omassa TIETOKONEESSANI se on hakemistossa:

    C:\WINDOWS\system32\MsDtc\Trace\msdtcvtr.bat

    Se mitä se koodi tekee, niin sitä on turha täällä selittää, mutta Kiki kuitenkin kusettaa porukkaa ja aika pahasti.

    Itse meinaan kuolla nauruun, kun ajattelen että joku menee kytkemään skootterin tietokoneeseen ja ajaa tuon BATin kuvitellen saavansa sillä lisää tehoja. :D :D :D

    Äänestä

  • Skootteriton kirjoitti:

    Joku kävi kysymässä ohjelmointi puolella mitä tuo koodi tarkoittaa, joten vastaan nyt tänne.

    Kyseinen ".BAT" tiedosto (siis tuo koodi) löytyy joka Windows XP koneesta. Esim omassa TIETOKONEESSANI se on hakemistossa:

    C:\WINDOWS\system32\MsDtc\Trace\msdtcvtr.bat

    Se mitä se koodi tekee, niin sitä on turha täällä selittää, mutta Kiki kuitenkin kusettaa porukkaa ja aika pahasti.

    Itse meinaan kuolla nauruun, kun ajattelen että joku menee kytkemään skootterin tietokoneeseen ja ajaa tuon BATin kuvitellen saavansa sillä lisää tehoja. :D :D :D

    täällä on tiedetty, jo aikaa, että kiki on häirikkö, mutta mielessä kävi meikälläkin, että saattaisi olla haittakoodin tapaista tietokoneelle, jolloin ongelma olisi tietenkin ollut hieman vakavampi kuin pelkkä vedätys, jonka nyt varmaa useimmat vedätykseksi tajusivat, kikillä on aprillipäivä hiukan hukassa, ollut jo kauan ja huuhaapalstakin näkyy olevan kikillä pahasti hukassa...tai sitten toveri ei ymmärrä näiden palstojen eroa, mikä taas kertoo kikistä aika paljon.

    Äänestä

  • Skootteriton kirjoitti:

    Joku kävi kysymässä ohjelmointi puolella mitä tuo koodi tarkoittaa, joten vastaan nyt tänne.

    Kyseinen ".BAT" tiedosto (siis tuo koodi) löytyy joka Windows XP koneesta. Esim omassa TIETOKONEESSANI se on hakemistossa:

    C:\WINDOWS\system32\MsDtc\Trace\msdtcvtr.bat

    Se mitä se koodi tekee, niin sitä on turha täällä selittää, mutta Kiki kuitenkin kusettaa porukkaa ja aika pahasti.

    Itse meinaan kuolla nauruun, kun ajattelen että joku menee kytkemään skootterin tietokoneeseen ja ajaa tuon BATin kuvitellen saavansa sillä lisää tehoja. :D :D :D

    joku levittää windowsin koodia, huhuu, kyllä nyt Gatesin Billi suuttuu, vaarmaan vaatii korvauksia ainakin satojen moposkootterien hinnan verran:=)

    Kohta kolisee laskua häiriköinnistä vanhaan malliin, käyvät repimässä kikiltä kaapelit seinistäkin ei auta nimimerkitkään, ei tämä ole mikään anonyymipalvelin, niinkuin monet luulevat, mikä selviää linkistä
    http://www.digitoday.fi/showPage.php?page_id=14&news_id=23151

    Äänestä

  • mrhm kröh kirjoitti:

    joku levittää windowsin koodia, huhuu, kyllä nyt Gatesin Billi suuttuu, vaarmaan vaatii korvauksia ainakin satojen moposkootterien hinnan verran:=)

    Kohta kolisee laskua häiriköinnistä vanhaan malliin, käyvät repimässä kikiltä kaapelit seinistäkin ei auta nimimerkitkään, ei tämä ole mikään anonyymipalvelin, niinkuin monet luulevat, mikä selviää linkistä
    http://www.digitoday.fi/showPage.php?page_id=14&news_id=23151

    Tietääkseni kirjoittelu asiallisesti paltoilla ei ole rikos

    Äänestä

Noppeus nousi 80km/h:sta noin 100km/n:tiin.
Tuo eka oli ilman kureja.Myös kiihytvyys-ja
polttoaineen kulutus nousivat,sekä äänet,jotka
muistuttavat nyt metsurin kitaraa.

Äänestä

Koska sehän alkaa olemaan se skoottereiden mersu, niin onkohan se tyypityetty kevariksikin, koska tuossa on varmaan tilaa kahdelle ja menee halutessaan kevarivaiuhteja niin voisi sitten myöhemmin muutamalla kympillä muuttaa sen prätkäksi, onko näin?

Äänestä

Kommentoi aloitusta


Hemppa kirjoitti:

Onko kellään ruiskuskootterissa tätä jälkeenpäin saatavaa ns. kisaohjelmaa? Mitä sellainen maksaisi esim. peuget elystariin ja montako heposta siinä tulee, vaikuttaako tuo kuinka paljon koneen kestoon ja kulutukseen asiallisessa työmatka-ajossa?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu