Adsense sponzor



IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   
1 UVOD
2 CMD sintaksa i XP naredbeni interpreter
3 Parametri i Prekidači
4 Kretanje pomoću tipki
5 Podešavanje prozora
6 Zamjenski znakovi
7 Editiranje TXTdatoteka
8 Posebni simboli u CMD naredbi
9 BATCH datoteke u CMD
10 HELP u CMD prozoru
11 ERROR u CMD prozoru
 

-- NAREDBE U  CMD-u --

  ASSOC
  AT
  ATTRIB
  BREAK
  CACLS
  CALL
  CD
  CHCP
  CHDIR
  CHKDSK
  CHKNTFS
  CLS
  CLIP
  CMD
  COLOR
  COMP
  COMPACT
  CONVERT
  COPY
  DATE
  DEL
  DIR
  DISKCOMP
  DISKCOPY
  DOSKEY
  ECHO
  ENDLOCAL
  ERASE
  EXIT
  FC
  FIND
  FINDSTR
  FOR
  FORMAT
  FTYPE
  GOTO
  GRAFTABL
  HELP
  IF
  LABEL
  MD
  MKDIR
  MODE
  MORE
  MOVE
  PATH
  PAUSE
  POPD
  PRINT
  PROMPT
  PUSHD
  RD
  RECOVER
  REM
  REN
  RENAME
  REPLACE
  RMDIR
  SET
  SETLOCAL
  SHIFT
  SORT
  START
  SUBST
  TIME
  TITLE
  TREE
  TYPE
  VER
  VERIFY
  VOL
  XCOPY
   
   
12 PING
13 IPCONFIG
14 NETSTAT
15 ROUTE
16 NSLOOKUP
17 ARP
18 TRACERT
19 TELNET
20 NET Commands
   
  .

NAREDBENO SUČELJE (Command Prompt line)

BATCH datoteke u CMD-promptu
(*.bat) i Makro naredbe
Search This Web Site

Adsense sponzor






U CMD promptu možemo pokretati BATCH datoteke (*.bat). Ove datoteke još se nazivaju skripte.

Što je u stvari BATCH datoteka / skripta ?
To je datoteka sa nastavkom (extenzijom) BAT a u sebi sadrži niz naredbi sistema ili posebnih "BATCH" naredbi.
 

NAREDBENE SKRIPTE

Naredbena skripta ili Batch datoteka je program ili neformatirana tekstualna datoteka koja sadrži jednu ili više naredbi sistema ili "batch" naredbi. takva datoteka mora imati nastavak (extenziju) BAT, a osim naredbi sitema može sadržavati i druge naredbe (vidi tablicu ispod)

Naredba Značenje
setlocal Započinje lokalizaciju varijabli u batch programima. Ima učinak sve do naredbe endlocal ili kraja batch
goto Naredba se koristi za skok na označeni red u programu. Takav red obično sadrži naslov procedure koja se nastavlja sekvencijalno izvoditi do kraja programa.
echo Prikazuje poruku ili postavlja mogućnost prikazivanja poruka uključeno ili isključeno
pause Zaustavlja izvođenje naredbene skripte i obavještava korisnika porukom na screenu
da pritisne tipku za nastavak
rem Omogućava unošenje komentara u naredbene skripte ili konfiguracijske datoteke
call Poziva batch program iz trenutno aktivnog programa bez njegova prekidanja.
Osim toga služi i za skok na neku lokaciju iz aktivnog programa.
shift Mijenja poziciju promjenjive varijable u batch programu
if Obavlja uvjetno izvođenje u batch programima
for Programska struktura koja se može koristiti za naredbene skripte, a može se koristiti i iz naredbenog retka
% Znak postotka (%) koristi se u naredbenim skriptama kao promjenjiva varijabla ili zamjenjiv parametar.
Može imati vrijednost od %0 do %9, odnosno prihvatiti devet vrijednosti koje će se koristiti u skripti.
Prva vrijednost %0 se prihvaća kao ime datoteke. Ostalih devet vrijednosti koje se unose u naredbenom
promptu nakon imena odvajaju se sa znakom razmaka ( razmakom)

Da bi se pratilo izvođenje BATCH programa skripta se pokreće naredbom COMMAND /Y koja izvodi program red po red te omogućava preskakanje redova (i uvid u greške)

PRIMJERI SKRIPTI

Dakle ako želite izraditi neku skriptu koja će na pokretanje datoteke odraditi nekakav zadatak koji ste formirali naredbama u samoj datoteci, uradite slijedeće:

Kreirajte novu TXT datoteku (putem naredbe C:\>edit bekap) i snimite je (ili otvorite Notepad pa je snimite kao bekap.txt i kasnije preimenujte u bekap.bat)

Ovo je primjer jedne BATCH skripte koja kopira folder C:\cmd  na particiju  D:\bekap\
Kreirao sam tekstualnu datoteku bekap.txt a potom je preimenovao u bekap.bat

Otvorio je u Notepadu i u njoj kreirao slijedeće naredbe

PRIMJER 1
 

+++++++++++++++++++++

REM program za kopiranje direktorija sa C:\path na D:\Radni_D\Bekap
REM pokrece se u WINDOWSIMA (tada path staze moraju biti u navodnicima zbog razmaka u imenima)
REM................................................................

REM - Automatic Backup System - Outlook Express e-mail
C:
cd "C:\Documents and Settings\UserName\Application Data\Identities\{EF6DB9A0-951F-11D8-AE95-A56446EF3146}\Microsoft\Outlook Express\"
xcopy *.* "D:\Radni_D\Bekap\Outlook Express\" /E /F /S /H /Y /D

C:
cd..

REM echo Zadnji Backup zavrsen: >> D:\Radni_D\Bekap\LastBackup.txt
REM echo Datum: >> D:\Radni_D\Bekap\LastBackup.txt
REM date >> D:\Radni_D\Bekap\LastBackup.txt
REM echo Vrijeme: >> D:\Radni_D\Bekap\LastBackup.txt
REM time >> D:\Radni_D\Bekap\LastBackup.txt

echo off
cls
echo Auto Backup Complete!!!

 

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


PRIMJER 2.
Ovo je drugi primjer gdje kopiram kompletan sadržaj foldera My Documents UserAccounta (koji trenutno koristim) kada sam se ulogirao u Windowse sa C: na D: u folder "bekap"

++++++++++++++++++++++++++++++++++

REM ## skripta za bekap foldera ##

@echo off
:: variables
set drive=d:\bekap
set backupcmd=xcopy /s /c /d /e /h /i /r /k /y

echo ### bekap My Documents
%backupcmd% "%USERPROFILE%\My Documents" "%drive%\My Documents"

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

Pojašnjenje upisanih naredbi:

REM
- znači da je to komentar i program ga neće uzeti u obzir

@echo off
- znači da sam isključio echo

:: variables

- znači da se koriste unaprijed postavljene varijable

set drive=d:\bekap

- postavio sam da "drive" u naredbi prepoznaje kao
d:\bekap

set backupcmd=xcopy /s /c /d /e /h /i /r /k /y
-
postavio sam naredbu "backupcmd" u skripti da se identificira kao xcopy za kopiranje i prekidače uz nju (o prekidačima pogledajte više u helpu neredbe xcopy /? )

echo ### bekap My Documents
-
prikazivanje poruke iza echo naredbe

%backupcmd% "%USERPROFILE%\My Documents" "%drive%\My Documents"
-
 ovo je glavni dio skripte u kojoj programu kažem da izvrši naredbu backupcmd a u stvari kao da sam napisao xcopy sa prekidačima, potom dolazi userprofile koji s eidentificira sam nazivom UserAccounta (kod mene je to Admin) a u njemu se nalazi folder My Documents koji treba kopirati na D:\ u drive. Drive se identificira sa varijablom koju sam postavio gore a to znači na d:\bekap i da kreira folder My Documents.

PRIMJER 3.
Bekap skripta

++++++++++++++++++++++++++++

@ECHO OFF
 
REM BackupScript
REM Version 1.01, Updated: 2008-05-21
REM By Jason Faulkner (articles[-at-]132solutions.com)
REM Performs full or incremental backups of folders and files configured by the user.
REM Usage---
REM   > BackupScript
 
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
 
REM ---Configuration Options---
 
REM Folder location where you want to store the resulting backup archive.
REM This folder must exist. Do not put a '\' on the end, this will be added automatically.
REM You can enter a local path, an external drive letter (ex. F:) or a network location 
(ex. \\server\backups)
SET BackupStorage=C:\Backup
 
REM Which day of the week do you want to perform a full backup on?
REM Enter one of the following: Sun, Mon, Tue, Wed, Thu, Fri, Sat, *
REM Any day of the week other than the one specified below will run an incremental backup.
REM If you enter '*', a full backup will be run every time.
SET FullBackupDay=*
 
REM Location where 7-Zip is installed on your computer.
REM The default is in a folder, '7-Zip' in your Program Files directory.
SET InstallLocationOf7Zip=%ProgramFiles%\7-Zip
 
REM +-----------------------------------------------------------------------+
REM | Do not change anything below here unless you know what you are doing. |
REM +-----------------------------------------------------------------------+
 
REM Usage variables.
SET exe7Zip=%InstallLocationOf7Zip%\7z.exe
SET dirTempBackup=%TEMP%\backup
SET filBackupConfig=BackupConfig.txt
 
REM Validation.
IF NOT EXIST %filBackupConfig% (
  ECHO No configuration file found, missing: %filBackupConfig%
  GOTO End
)
IF NOT EXIST "%exe7Zip%" (
  ECHO 7-Zip is not installed in the location: %dir7Zip%
  ECHO Please update the directory where 7-Zip is installed.
  GOTO End
)
 
REM Backup variables.
FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO (
  SET DayOfWeek=%%a
  SET NowDate=%%d-%%b-%%c
  SET FileDate=%%b-%%c-%%d
)
 
IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek%
IF /i {%FullBackupDay%}=={%DayOfWeek%} (
  SET txtBackup=Full
  SET swXCopy=/e
) ELSE (
  SET txtBackup=Incremental
  SET swXCopy=/s /d:%FileDate%
)
 
ECHO Starting to copy files.
IF NOT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%"
FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO (
  SET Current=%%~A
  IF NOT EXIST "!Current!" (
    ECHO ERROR! Not found: !Current!
 ) ELSE (
    ECHO Copying: !Current!
    SET Destination=%dirTempBackup%\!Current:~0,1!%%~pnxA
    REM Determine if the entry is a file or directory.
    IF "%%~xA"=="" (
      REM Directory.
      XCOPY "!Current!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy%
   ) ELSE (
      REM File.
      COPY /v /y "!Current!" "!Destination!"
   )
 )
)
ECHO Done copying files.
ECHO.
 
SET BackupFileDestination=%BackupStorage%\Backup_%FileDate%_%txtBackup%.zip
 
REM If the backup file exists, remove it in favor of the new file.
IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%"
 
ECHO Compressing backed up files. (New window)
REM Compress files using 7-Zip in a lower priority process.
START "Compressing Backup. DO NOT CLOSE" /belownormal /wait "%exe7Zip%" a 
-tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%\"
ECHO Done compressing backed up files.
ECHO.
 
ECHO Cleaning up.
IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%"
ECHO.
 
:End
ECHO Finished.
ECHO.
 
ENDLOCAL

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

PRIMJER 4.
Primjer bekapiranja računala u mreži  sa istim dijeljenim folderom

++++++++++++++++++++++++

@ECHO OFF
REM *****************************************************************
REM
REM Batch file for backing up all network computers (with a same share name)
REM
REM This script will list all computers in network and try to connect to
REM a predifined share. Then it maps drive to that share and rsync it.
REM
REM - Allow to exclude computers
REM - You must set a differential backup folder and a main backup one
REM (differential backup will save files modifications in ...backups_folder/year/month/day/pcname/... folder
REM
REM Based on original script from Tevfik K. (http://itefix.no/)
REM Modified by Nicolas Liaudat
REM *****************************************************************

REM --------------------------------------------------------
REM ********** Variables to modify for you own use

:: PC's share name (identical for all pcs)
set _win_share=mybusiness

:: log filename
set _log=mylogfilename.log

:: Destination path (win and cygwin style) for the main backup
SET _Dest=d:\backups\
SET _Dest_Cyg=/cygdrive/d/backups/

:: Destination path (win and cygwin style) for the differential backups
SET _Diff_Dest=d:\diff_backups\
SET _Diff_Dest_Cyg=/cygdrive/d/diff_backups/

:: filename for the excluded computer (not backuped, for example your server with different share names)
:: Sample exclude.txt (begin with two \\ !!!. New line for each computers)
:: \\server1
:: \\server2
:: ----------------------------
:: Not the file must be in the same path of the script
set _exclude_computers=exclude_pc.txt

:: Excluded file extensions for rsync (see rsync doc in --exclude-from= section)
:: Not the file must be in the same path of the script
set _ext_excluded=ext_exclude.txt

:: Main options for rsync
set _main_options=--verbose --recursive --times --progress --exclude-from="....\
nastavak
%_ext_excluded%" --compress --itemize-changes --human-readable --del --ignore-errors --force
nastavak
--bwlimit=0 --stats --timeout=30 --modify-window=3601 --log-file=%_log%


::Network drive letter to use
set _netdrive=y

REM --------------------------------------------------------
REM ********** Specifics for cwrsync

SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%


REM --------------------------------------------------------
REM ********** Start of script

del %_log%

::Retrieve date
for /f "tokens=2,3,4 delims=. " %%a in ('echo. ^|date/t') do set day=%%a&set month=%%b& set year=%%c
for /F "tokens=2,3,4 delims=/ " %%i in ('date/t') do set d=%%k%%i%%j



SET _Backup=%_Diff_Dest%%annee%\%mois%\%d%\
SET _BAckup_Cyg=_%Diff_Dest_Cyg%%annee%/%mois%/%d%/


if not exist %_diff_Dest%\%annee%\ mkdir %_diff_Dest%\%annee%\
if not exist %_diff_Dest%\%annee%\%mois%\ mkdir %_diff_Dest%\%annee%\%mois%\
if not exist %_Backup% mkdir %_Backup%
if not exist %_Dest% mkdir %_Dest%


:: ----------------------------
:: list all network connected windows PC, except which are listed in exclude.txt file


NET VIEW > netview.txt


FOR /F "skip=3 eol=L delims=\\" %%i IN (netview.txt) do call ::Sub1 %%i

del netview.txt

goto end


:SUB1
Echo %1 :

FIND /I "%1" ....\%_exclude_computers%

if ERRORLEVEL=2 goto erreur
if ERRORLEVEL=1 goto noFind
if ERRORLEVEL=0 goto Find

:erreur
goto :EOF

:noFind (in exclude)
:: -------------------------
:: Save
:: -------------------------

set _pc_name=%1
set _folder=%_win_share%

ECHO -------------------------------------
ECHO "Backing up "%_pc_name%\%_folder%
ECHO -------------------------------------

net use %_netdrive%: /delete
net use %_netdrive%: \\%_pc_name%\%_folder% /PERSISTENT:NO


if not exist %_Backup%%_pc_name%\ mkdir %_Backup%%_pc_name%
if not exist %_Dest%%_pc_name%\ mkdir %_Dest%%_pc_name%

:: Option for rsync
SET _Options=%_main_options% --backup --backup-dir=%_Backup_Cyg%%_pc_name%


if exist %_netdrive%:/*.* rsync.exe %_Options% /cygdrive/%_netdrive%/ %_Dest_Cyg%%_pc_name%

net use %_netdrive%: /delete


REM End of subprog
goto :EOF

:Find (in exclude)


::Nothing to do yet
goto :EOF

:end

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

PRIMJER 5.
Kopiranje više datoteka istovremeno sa jednog u drugi folder

++++++++++++++++++++++++++++

@echo
REM - naredba upotrebljava slijedeću sintaxu
REM - mycopy dir file1 file2
Set todir=%1
:getfile
shift
If"%1"==""goto end
copy %1 %todir%
goto getfile
:end

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

PRIMJER 6.
Kreiraj skriptu koja na zaslonu prikazuje izbornik slijedećeg sadržaja (vidi ispod). Odabirom određenog izbora izvršavaju sve navedene akcije

Potrebni izbornik:

(1) pomoc
(2) pristupanje na ftp server
(3) kreiranje vlastite afterlog.txt datoteke
(4) izlaz iz programa
(5) info
(6) popis ftp naredbi

Rješenje se sastoji od jedne glavne datoteke ( skripta.bat) i šest pomoćnih *.bat datoteka, ftp_help.txt datoteke i afterlog.txt datoteke

Datoteka skripta.bat

++++++++++++++++++++++++++++

echo off
cls
:POCETAK
echo Dobar dan! Odaberite jednu od opcija
echo (1) pomoc
echo (2) pristupanje na ftp server
echo (3) kreiranje vlastite afterlog.txt datoteke
echo (4) izlaz iz programa
echo (5) info
echo (6) popis ftp naredbi
echo Kada se pojavi komandni prompt unesite zeljeni broj i
echo parametre ako ih operacija podrzava (pogledaj pomoc)
cmd /k
goto :POCETAK

++++++++++++++++++++++++++++

Datoteka 1.bat

++++++++++++++++++++++++++++

echo off
echo *****Sustav za pomoc programa SKRIPTA*****
echo POMOC KOD PRISTUPANJA NA FTP SERVER
echo Kod odabira druge operacije (tj. operacije pristupanja na ftp server)
echo moguc je unos dvaju parametara
echo adresa servera  - adresa bilo kojeg FTP servera kojem zelite
echo                             pristupiti (ako zelite pristupiti serveru ftp.foi.hr
echo                             serveru umjesto adrese unesite def)
echo POMOC KOD EDITIRANJA AFTERLOG DATOTEKE
echo Ako znamo ftp naredbe mozemo editirati afterlog datoteku. Za kratak opis
echo FTP naredbi pogledati ftp_help.txt datoteku
goto :POZIV
:POZIV
pause
call skripta.bat

++++++++++++++++++++++++++++

Datoteka 2.bat

++++++++++++++++++++++++++++

echo off
if%1==def goto :STANDARD else goto :NEW
:STANDARD
echo Pristupanje na ftp.foi.hr server
ftp -n -s:c:\nastava\batch\afterlog.txt
ftp.foi.hr
goto :EOF
:NEW
echo pristupanje na zeljeni ftp server
ftp -n -s:c:\nastava\batch\afterlog.txt %2
goto :EOF

++++++++++++++++++++++++++++

Datoteka 3.bat

++++++++++++++++++++++++++++

echo off
afterlog.txt
call skripta.bat

++++++++++++++++++++++++++++

Datoteka 4.bat

++++++++++++++++++++++++++++

echo off
goto :EOF

++++++++++++++++++++++++++++

Datoteka 5.bat

++++++++++++++++++++++++++++

echo off
echo Autor Marko Sajko 23/5/2000
echo program Skripta omogućava lako pristupanje ftp serverima i automatizaciju
echo rada na njima nakon pristupa. Za dodatne informacije pogledaj POMOC

++++++++++++++++++++++++++++

Datoteka 6.bat

++++++++++++++++++++++++++++

echo off
ftp_help.txt

++++++++++++++++++++++++++++

Datoteka afterlog.txt

++++++++++++++++++++++++++++

user anonymous masajko@foi.hr
 

++++++++++++++++++++++++++++

Datoteka ftp_help.txt

++++++++++++++++++++++++++++

vaznije ftp naredbe uz kratak opis
! - izlaz iz ftp podsistema u Windows ljusku
? - help (moze se upotrebljavati uz ime naredbe, npr: ? put
mdir - ispis datoteke i direktorija udaljenog računala
mget - kopiranje datoteka sa udaljenog računala
get - kopiranje datoteke sa udaljenog računala
send - kopiranje datoteke na udaljeno računalo
put - naredba identična naredbi send
delete - brise datoteku na udaljenom racunalu
ascii - postavlja vrstu prijenosa podataka na ASCII (to je default vrijednost)
binary - postavlja vrstu prijenosa podataka na binarni prijenos
lcd - promjena tekuceg direktorija na lokalnom racunalu
cd - promjena tekuceg direktorija na udaljenom racunalu
rename - mijenja ime datoteci na udaljenom racunalu

 

++++++++++++++++++++++++++++

Adsense sponzor






Copyright 2009-2017 - IvanC - ic.ims.hr