http://www.ecoland.ro/Biblioteca_electroni...ul_1/cap_1.html
de fapt sunt simple comenzi DOS
Început de halip, Mar 4 oct 2005 · 58 răspunsuri · 13.282 vizualizări
http://www.ecoland.ro/Biblioteca_electroni...ul_1/cap_1.html
de fapt sunt simple comenzi DOS
Timida, permite-mi sa te contrazic : "simple comenzi DOS"
sunt mult mai mult decat atat.
uite un exemplu de fisier .bat :
@echo off
set VSCommonDir=C:\PROGRA~1\MICROS~3\Common
set MSDevDir=C:\PROGRA~1\MICROS~3\Common\msdev98
set MSVCDir=C:\PROGRA~1\MICROS~3\VC98
r
set VcOsDir=WIN95
if "%OS%" == "Windows_NT" set VcOsDir=WINNT
if "%OS%" == "Windows_NT" set PATH=%MSDevDir%\BIN;%MSVCDir%\BIN;%VSCommonDir%\TOOLS\%VcOsDir%;%VSCommonDir%\TOOLS;%PATH%
if "%OS%" == "" set PATH="%MSDevDir%\BIN";"%MSVCDir%\BIN";"%VSCommonDir%\TOOLS\%VcOsDir%";"%VSCommonDir%\TOOLS";"%windir%\SYSTEM";"%PATH%"
set INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;%INCLUDE%
set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;%LIB%
set VcOsDir=
set VSCommonDir=
set DEBUG=0
if "%DEBUG%"=="1" (set TRACE=echo) else (set TRACE=rem)
set USE_TRACE_FMT=1
%TRACE% The value of variable USE_TRACE_FMT is %USE_TRACE_FMT%
set SWHELP=h
set SWMODE=mode
set SWTRACELOG=tracelog
set SWMOF=mof
set SWOUTPUT=o
set VALID=0
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
set CMDLINE=%*
%TRACE% About to call PARSECMDLINE with the argument %CMDLINE%
call :PARSECMDLINE 0
%TRACE% About to call the procedure VALIDATE
call :VALIDATE
if "%VALID%"=="0" (
%TRACE% Parameter validation failed, exiting ...
goto :EOF
)
call :MYFINDSWITCH %SWMODE%
if not "%RET%"=="0" (
if "%RETV%"=="1" set TRACEFILE=%TRACEFILE1%
if "%RETV%"=="2" set TRACEFILE=%TRACEFILE2%
)
call :MYFINDSWITCH %SWTRACELOG%
if not "%RET%"=="0" (
set TRACEFILE=%RETV%
)
call :MYFINDSWITCH %SWMOF%
if not "%RET%"=="0" (
set MOFFILE=%RETV%
)
call :MYFINDSWITCH %SWOUTPUT%
if not "%RET%"=="0" (
set OUTPUTFILE=%RETV%
)
%TRACE% TRACEFILE=%TRACEFILE%
%TRACE% MOFFILE=%MOFFILE%
%TRACE% OUTPUTFILE=%OUTPUTFILE%
if not exist %TRACEFILE% (
echo The tracelogfile %TRACEFILE% does not exist. exiting ...
call :HELP
goto :EOF
)
if not exist %MOFFILE% (
echo The moffile %MOFFILE% does not exist. exiting ...
call :HELP
goto :EOF
)
set OUTPUTFILEWITHEXT=%OUTPUTFILE%.csv
%TRACE% The value of variable OUTPUTFILEWITHEXT=%OUTPUTFILEWITHEXT%
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
)
if exist %ERRORFILE% (
del %ERRORFILE% 1>nul 2>nul
%TRACE% Deleted the file %ERRORFILE%
)
%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
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
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
:VALIDATE
set ARG=1
set SWHELPFOUND=0
set SWMODEFOUND=0
set SWTRACELOGFOUND=0
set SWMOFFOUND=0
set SWOUTPUTFOUND=0
set OUTNAMENAME=0
if %CMDARGCOUNT% EQU 0 if %CMDSWCOUNT% EQU 0 (call :HELP) & (goto :EOF)
if %CMDARGCOUNT% GTR 0 goto ERROR_USED_ARGUMENTS_WITHOUT_SWITCHES
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%
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))
if "%SWMODEFOUND%"=="1" if "%SWTRACELOGFOUND%"=="1" goto ERROR_USED_BOTH_MODE_AND_TRACELOG
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
if "%SWMODEFOUND%"=="0" if "%SWTRACELOGFOUND%"=="0" (echo Invalid Usage : neither "-%SWMODE%" nor "-%SWTRACELOG%" was specified) & (call :HELP) & (goto :EOF)
call :MYFINDSWITCH %SWMODE%
if not "%RET%"=="0" if not "%RETV%"=="1" if not "%RETV%"=="2" goto ERROR_INVALID_MODE
call :MYFINDSWITCH %SWOUTPUT%
for /f "tokens=1* delims=." %%I in ("%RETV%") do (set OUTPUTEXT=%%J)
if not "%OUTPUTEXT%"=="" goto ERROR_USED_OUTPUTFILENAME_WITH_EXTENSION
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)
: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 <file> binary Trace log file name"
echo Options:
echo "-h OR -? Display Help"
echo "-o <filename> Output Filename without extension"
echo "-mof <filename> Mof Filename"
goto :EOF
: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
:INIT
%TRACE% [proc %0 %*]
goto :EOF
:VARDEL
%TRACE% [proc %0 %*]
for /f "tokens=1 delims==" %%I in ('set %1 2^>nul') do set %%I=
goto :EOF
: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
: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
: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
: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
: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
: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
: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
:REGDELM
%TRACE% [proc %0 %*]
call :GETTEMPNAME
echo y >%RET%
reg delete HKLM\Software\MTPScriptContexts\%1\%2 <%RET% >nul
del %RET%
goto :EOF
:REGDELU
%TRACE% [proc %0 %*]
call :GETTEMPNAME
echo y >%RET%
reg delete HKCU\Software\MTPScriptContexts\%1\%2 <%RET% >nul
del %RET%
goto :EOF
:SRAND
%TRACE% [proc %0 %*]
set /a _MTPLIB_NEXTRAND=%1
goto :EOF
: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
: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
: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
:GETSYNCFILE
%TRACE% [proc %0 %*]
call :GETTEMPNAME
goto :EOF
:SETSYNCFILE
%TRACE% [proc %0 %*]
echo . >%1
goto :EOF
:DELSYNCFILE
%TRACE% [proc %0 %*]
if exist %1 del %1
goto :EOF
: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
: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
:DOSEXIT
Nu stii vreun site in care pot gasi si comenzi pentru fisiere .bat?
Editat Joi 17 nov 2005 19:24
Cel mai frumos tutorial pe care l-am putut gasi:
work27 a scris:Timida, permite-mi sa te contrazic : "simple comenzi DOS"
sunt mult mai mult decat atat.
uite un exemplu de fisier .bat :
.
.
.
Nu-mi permit sa te contrazic, work27! De obicei, eu creez fisiere .bat pt. cei ce nu stiu sa lanseze in executie o aplicatie, asadar, folosesc doar cateva comenzi simple...
Exemplul tau...e creat de tine sau....
Nu te-am vazut prea des pe forum, in ultimul timp... why?
stie cineva comenzi in dos precum net send ws.......?????spuneti-mi shi mie daca stiti.de ex o comanda care sa-mi ascunda numele calc. 
"Exemplul tau...e creat de tine sau....
Nu te-am vazut prea des pe forum, in ultimul timp... why?"
Timida, acest fisier printre care si multe altele sunt motivul pentru care nu m-ai mai vazut pe forum.
muncesc, muncesc si iar muncesc! :P
am si eu o intrebare la specialisti..cum se vad extensiile astea?
bineinteles extensia e CBR. 
Editat Lun 9 ian 2006 15:09
Dunedain a scris:am si eu o intrebare la specialisti..cum se vad extensiile astea?bineinteles extensia e CBR.
DSpawn a scris:
multam 