Etkili konsol. SETLOCAL komutu - bir akış komut dosyasının değişkenlerini değiştirme

    Takım SETLOKAL Zaman değişimi için komutlardaki zaman değişikliklerinin değeri tartışılıyor Windows dosyaları. SETLOCAL komutunun yürütülmesinden sonra yerel olarak akış toplu iş dosyasında yapılan ortadaki değişiklikler. Mevcut değerleri güncellemek için ENDLOCAL komutundan çıkmalısınız. Toplu iş dosyasının sonuna ulaşıldığında, toplu iş dosyasına eklenen diğer tüm SETLOCAL komutları için ENDLOCAL komutu otomatik olarak sonlandırılır ve tüm değişikliklerin değerleri SETLOCAL komutunun sonuna kadar güncellenir.

Takım Satırı Formatı:

SETLOKAL | ETKİN GECİKMELİ GENİŞLETME | DEVRE DIŞI GECİKMELİ GENİŞLEME

Genişletilmiş komut işleme etkinleştirildiğinde SETLOCAL komutunun değiştirilmesi:

SETLOCAL komutu isteğe bağlı bağımsız değişkenleri kabul eder: ENABLEEXTENSIONS ve DISABLEEXTENSIONS. Bu, bir sonraki komuta kadar genişletilmiş komut işlemlerini yerleştirmenize veya gömmenize olanak tanır. Div CMD /? rapor açıklaması. ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION değiştirilebilir orta kısmın genişletilmesini etkinleştirir veya devre dışı bırakır. AYARLAMAK /? rapor açıklaması. Bu değişiklikler, SETLOCAL komutu çağrılıncaya kadar çıktıdan bağımsız olarak ENDLOCAL komutu yürütülene kadar devam eder.

SETLOCAL komutunun ardından bir bağımsız değişken gelirse, ERRORLEVEL sıfırlama kodunu ekleyecektir. İki geçerli bağımsız değişkenden biri belirtildiğinde, kesme kodu sıfıra ayarlanır, aksi takdirde değer 1'e ayarlanır. Bu güç, genişletilmiş komut işlemenin kullanılabilirliğini belirtmek için toplu iş dosyalarında değiştirilebilir, örneğin:

DİĞER 2'Yİ DOĞRULAYIN>nul
SETLOCAL ETKİNLEŞTİRMEUZANTILARI
IF ERRORLEVEL 1 echo Genişletilmiş bir işlev eklemek imkansızdır

Bu komut grubu çalışır çünkü CMD.EXE'nin önceki sürümlerinde SETLOCAL komutu ERRORLEVEL değerini ayarlamaz. Sıfır olmayan bir ERRORLEVEL değeri ayarlamak için geçersiz bağımsız değişkene sahip bir VERIFY komutu gereklidir.

Komut dosyalarında değişiklik yapıldığında, ana sınır çizgisi, örneğin komutlarda yaylarla belirtilen bir komut grubunun ortasında değişiklik yapıldığında anlamın değişmeden kaybolmasından kaynaklanmaktadır. EĞER ya da başka İÇİN. Bu değişimi atlamak için komut işlemcisi /V:ON parametresiyle başlatılır ve sembollerin değiştirilmesi gerçekleştirilir; değişken değerini kaldırmak için sembollerin değiştirilmesi yapılır. Ayrıca vikorizm ihtimali de açık standart lansman komut işlemcisi, ale z yerel kapanımlar moduna şu komutla verilir:

Değişkenlerin farklı değerlerinin sonuçlarındaki fark, aşağıdaki komut dosyasında açıkça gösterilmiştir:


@EKO KAPALI
VAR'ı ayarla=önce
if "%VAR%" == "önce" (
VAR=sonrasını ayarla
eğer "!VAR!" == "sonra" @echo Zi yüzde işareti=%VAR% , Zi beslenme işareti=!VAR!

Takım VAR=sonrasını ayarla komutu almak için alt programın ortasında yaylarla çevrilidir Setlocal EnableDelayedExpansion veya değişikliğin değerini kaldırmak için kullanmayın VAR dolu işaretleri, bu eskileri (alt programa girmeden önce kurulanları) kaybetmek anlamına gelir. Değişken değeri bir komut döngüsünün ortasında değiştirilirse benzer bir sorun ortaya çıkar İÇİN. Örneğin, bir akış dizinindeki dosyaların listesini görüntülemek için böyle bir komut dosyası uygun değildir:

LİSTE'yi ayarla=
(*) içindeki %%i için LIST=%LIST% %%i değerini ayarlayın
yankı %LIST%

Değişimin anlamı LİSTE döngünün ortasında değişmeyecektir. Eğer öyleyse, komut dosyasını şu şekilde değiştirmeniz gerekir:

Setlocal EnableDelayedExpansion
LİSTE'yi ayarla=
(*) içindeki %%i için LIST=!LIST! ayarını yapın. %%Ben
yankı %LIST%
Şimdi, değişikliğin anlamı LİSTE döngünün ortasında İÇİN boşlukla ayrılmış dosya adlarının anlamını sırayla alarak değişecektir ( LIST=!LIST!'i ayarlayın %%Ben)

IF komutunu düzeltmenin başka bir yolu da belirtilen dosyanın kökenini kontrol etmektir. Bunun sözdizimi aşağıdaki gibidir:

IF EXIST dosya komutu1

Zihin gerçeğe saygı duyar çünkü talimatlar dosyası Uyuyorum. Dosya adı gerekli değildir. IF komutunun bu seçeneğini kullanarak, komut satırı parametresi olarak belirtilen dosyanın varlığını kontrol eden komut dosyasına bakalım.

@ECHO OFF IF -%1==- GOTO NoFileSpecified IF NOT EXIST %1 GOTO FileNotExist REM Dosyası Bulundu Bildirimi ECHO Dosyası "%1" başarıyla bulundu. GOTO:EOF:DosyaBelirtilmemiş REM Dosyayı ECHO olmadan başlat Komut satırında belirtilen bir dosya adı yok. GOTO:EOF:FileNotExist REM Görevlerin komut satırı parametresi, ancak dosya bulunamadı ECHO Dosyası "%1" bulunamadı.

Değiştirilebilir bir maddenin varlığının doğrulanması

Dosyalara benzer şekilde IF komutu, sistemin değişken bir sıvıya sahip olup olmadığını kontrol etmenizi sağlar:

EĞER TANIMLIYSA komutu değiştir1

Burada DEFINED mind, belirtilen dosyanın mind EXISTS'iyle aynı şekilde ayarlanır, ancak değişken ortanın adını argüman olarak alır ve eğer değişiklik belirtilirse referans değerini döndürür. Örneğin:

@ECHO KAPALI CLS TANIMLIYSA MyVar GOTO:VarExists ECHO MyVar tanımlı değil GOTO:EOF:VarExists ECHO MyVar tanımlı, ECHO MyVar farklı %MyVar%

Önceki komutun tamamlama kodunu kontrol etme

Bir IF komutunu gözden geçirmenin başka bir yolu da önceki komutun tamamlanma kodunu (çıkış kodu) kontrol etmektir. IF'in sözdizimi şuna benzer:

IF ERRORLEVEL sayı komutu1

Burada gerçek doğrudur, çünkü komut hala çalışıyordur veya program, belirtilen sayıyla aynı olan dönüş koduyla sona ermiştir.

Örneğin, ekranda kopyalamayla ilgili bir bildirim görüntülemeden my.txt dosyasını C: sürücüsüne kopyalayan bir komut dosyası vardır ve herhangi bir zamanda bir tür tazminat önceden görülecektir:

@ECHO KAPALI XCOPY my.txt C:\ > NUL REM Kopya tamamlama kodu kontrol ediliyor EĞER HATA SEVİYESİ 1 GOTO HatasıOluştu Vikon'da herhangi bir bağışlama olmaksızın ECHO Kopyalama. GOTO:EOF:ErrOccurred ECHO XCOPY ekibi öldürüldüğünde ortalık karıştı!

IF ERRORLEVEL... operatöründe, tabloda gösterildiği gibi sayıları eşitlemek için de operatörleri kullanabilirsiniz. 3.2. Örneğin:

HATA SEVİYESİ İSE LEQ 1 GOTO Vaka1

Saygı.

Program sonlandırma kodlarıyla çalışmanın başka bir yararlı yolu da %ERRORLEVEL% değerini değiştirmektir. (ERRORLEVEL yürütme kodunun satır satır gösterimi).

Genişletilmiş komut işlemenin uygulama sürümünün kontrol edilmesi

Genişletilmiş komut işlemenin iş parçacıklı uygulamasının dahili sürüm numarasını belirlemek için IF ifadesinin bu forma ayarlanacağına karar verin:

IF CMDEXTVERSION numarası komut1

Burada CMDEXTVERSION'un zihni ERRORLEVEL'in zihnine benzer ve sayı bilinen dahili sürüm numarasına eşittir. İlk versiyon 1 numaradır. Gelişmiş komut işleme seçenekleri eklenirse versiyon numarası birer birer artacaktır. Komutların işlenmesi genişletildiği için CMDEXTVERSION'ın düşüncesi asla doğru değildir.

Döngülerin organizasyonu

Döngüleri organize etmek için kullanılan komut dosyalarında, aşağıdaki işlevleri sağlayan bir dizi farklı FOR operatörü türü vardır:

  • belirtilen çokluğun tüm elemanları için belirtilen komut;
  • tüm dosya adı türleri için belirtilen komut;
  • Tüm dizin adı türleri için belirtilen komutun onaylanması;
  • İlk dizin ve tüm alt dizinleri için belirtilen komut;
  • sayı dizisini verilen başlangıç, bitiş ve artıştan ayırmak;
  • bir metin dosyasındaki satırların okunması ve işlenmesi;
  • şarkı komutu çıktısı satırlarının işlenmesi
Döngü FOR...IN...DO...

Komut dosyaları için FOR komut sözdiziminin en basit sürümü şuna benzer:

FOR %% değişken IN (çoklu) DO komutu [parametreler]

Uvaga

Onur isminin önünde, FOR komutunun komut satırından kaldırıldığı durumda olduğu gibi, bir değil iki sembol (%%) vardır.

Hemen kıçı işaret edelim. Komut dosyasında satırlar nasıl bulunur?

@%%i IN İÇİN @ECHO KAPALI (Bir, İki, Üç) %%i ECHO YAPIN

daha sonra, görüntülemenizin bir sonucu olarak ekranda aşağıdakiler görünecektir:

Bir, iki, üç

FOR komutunun isimsiz parametresi, belirli bir komut için işlemek istediğiniz, satırlarla ayrılmış bir veya daha fazla metin satırını belirtir. Buradaki silahlar obov'yazkov. Parametre komut [seçenekler]çokluğun her bir elemanına atanan bir komutu belirtir; FOR komutlarının bir satırda iç içe geçmesine izin verilmez. Çokluğa kadar giden bir sıra koma varsa o zaman patilere önemli bir sıra yerleştirilmesi gerekir. Örneğin vikonnaya dosyasının bir sonucu olarak komutlar

@%%i IN İÇİN @YANKI KAPALI ("Bir, İki", Üç) %%i Yankı Yapın

ekranda görüntülenecek

Bir, iki, üç

%% değişken parametresi, gönderilen değişkeni (döngünün tedavisi) temsil eder ve burada yalnızca aynı harflerden oluşan değişken adları değiştirilebilir. Vyconann olduğunda, FOR komutu, kendisinden sonra gelen komut gelene kadar, verilen çokluktaki dış görünüm satırının metniyle değiştirilen değişkeni değiştirir. anahtar kelime DO bu tür satırların tümünü işlemez.

Çeşitli: Windows\system32

Açıklama: Windows Komut İşlemcisi

Windows XP'de bu konsolun adıdır - program cmd.exe komut yorumlayıcısı olarak. Basit bir şekilde başlatıldığında, komut satırı parametrelerini belirtmeden konsol, işletim sisteminin sürümünü, işletim sistemi satıcılarının telif hakkı korumasıyla ilgili bilgileri ve aynı bilgileri görüntüler. Komut satırı programın kendisinin komut satırı parametresi olarak girebileceğiniz cmd.exe ve ister harici bir komut olsun, örneğin başka bir uygulamayı başlatma komutu, ister mkdir, del vb. gibi standart bir komut olsun.

Komut Satırı Seçenekleri

Komut satırının sözdizimi şöyledir:

CMD[takım]

Aynı anda birden fazla takımı vikorize edebilirsiniz, vikorist ve aralarında özel bir ayırıcı bulunur - && sembolleri, burada bir dizi takımdan gelen tüm veriler sekmelere yerleştirilebilir, örneğin, " takım&&ekip&& takım".

/? - vyklik dovidki

/A- Belirli bir komutun sonuçlarının ANSI formatında sonucu

/C- Konsol penceresinin yakında kapatılmasıyla ilgili komut Vikonannya'ya verildi

/D- kayıt defterinin özel bölümlerinde belirtilen Otomatik Çalıştır komutlarının (cmd.exe'ye tıkladığınızda otomatik olarak seçilen ilk komutlardır) seçiminin etkinleştirilmesi HKEY_LOCAL_MACHINE\Yazılım\Microsoft\Komut İşlemcisi\Otomatik Çalıştır і HKEY_CURRENT_USER\Software\Microsoft\Komut İşlemcisi\AutoRun

/E:AÇIK (/E:KAPALI)- Komutların genişletilmesi eklendi (koruma). Windows XP'de tüm cmd.exe komutlarının işlenmesi genişletilmiştir; bu parametre belirli bir işlemin genişletilmesini geliştirmek/genişletmek için kullanılır. Genişletilmiş işleme aşağıdaki komutları içerir: assoc, call, chdir (cd), color, del (sil), endlocal, for, ftype, goto, if, mkdir (md), popd, Prompt, Pushd, set, setlocal,shift, start(Harici ekiplere yönelik tıklamalar da değiştirildi)

/F:AÇIK (/F:KAPALI)- belirli bir komut cmd.exe'ye dosya adlarının ve klasörlerin (korumalı) tamamlanmasına izin verdi (korudu). Dosyaların veya klasör adlarının adını konsol penceresine manuel olarak girmenize değil, özel bir tarih tuşları kombinasyonuna basarak adın yalnızca bir kısmını girmenize olanak tanıyan bir manuel işlev ekleyin işletim sistemi Mevcut seçenekleri öğrenin ve ihtiyacınız olanı seçin. (Tüm cmd.exe çağrıları için ad tamamlamayı etkinleştirmeniz veya devre dışı bırakmanız gerekirse, şaşıracaksınız Otomatik komut çevirme).

Bilgisayar ayarları, bilgisayar ayarlarından önceliklidir ve komut işlemcisi /F değeri, kayıt defteri seçeneklerinden önceliklidir. Microsoft bu işlevin değerini açıklığa kavuşturmuştur: "Komut satırı anahtarı / F:ON kullanılarak tamamlama belirtilirse, iki kontrol karakteri kullanılır: klasör adları için Ctrl+D ve dosya adları için Ctrl+F.

Belirli bir sonlandırma karakterini kayıt defterine kod olarak eklemek için özel sembol vikorist onaltıncı değer boşluk simgesi (0 x 20). Bu özel karakterlerden biri girildiğinde tamamlandığına işaret edilir. Tamamlama işlevi, ekleme noktasından sol taraftaki yolların bir satırını alır, önündeki desene bir gün gibi bir sembol ekler ve ardından seçilen değere karşılık gelen yolların bir listesi olacaktır.

Bundan sonra ayırt edilen rotalar listesindeki ilk öğe görüntülenir. Liste boşsa gönderilir bip sesi ve hiçbir şey gösterilmeyecek. Aynı özel sembolün tekrar tekrar tanıtılmasından sonra, tüm yol türlerinin döngüsel bir araştırması gerçekleştirilir.

Keruvannya sembolünü yazarken Shift tuşuna basmak rota listesine ters sırada göz atmanızı sağlar. Rota girişini değiştirip sembolü tekrar girerseniz tasarruf listesi temizlenir ve yeni bir rota listesi oluşturulur. Bir tamamlama sembolünden diğerine geçiş yaparken de aynı durum geçerlidir.

Dosya sonlandırma sembolü vekaleten olduğunda aynı fark, bir erişim listesi oluştururken hem yolların hem de dosya adının alınması ve klasör sonlandırma sembolü vekaleten olduğunda sadece yolların alınması gerçeğinde yatmaktadır. Verilen klasör işleme komutlarından (CD, MD veya RD) birinde tamamlama sembolü görünürse, klasör tamamlama sembolüne her zaman uyulur. Tamamlama sembolü, boşlukların veya diğer özel karakterlerin (örneğin, tabana yerleştirme sırası) değiştirilmesi için dosya adlarıyla doğru şekilde çalışır.

Ayrıca ekleme noktasını sola kaydırırsanız ve ardından tamamlama simgesini satırın ortasına eklerseniz, ekleme noktasından sağ elini kaybeden metin dışarı atılacaktır. Cildi pençelere zorlayan özel semboller:<пробел>&()()^=;!"+,~". Her şey netleşti mi?

/K- Belirtilen komuttan daha fazla tamamlamadan çıkın (konsol penceresi kapanmayacaktır)

/Q- Vimknennya ekranda komutları görüntülüyor (ECHO OFF). /R - /C parametresine benzer

/S- /C veya /K'dan sonra komutun davranışını değiştirin

/T: renk - konsol penceresinin metninin ve arka planının rengini ayarlayın. Renk parametresi onaltıncı iki sayının değerine sahiptir: birincisi pencerenin arka planının rengini, diğeri ise pencerenin metnini gösterir. O zaman "CMD/T: 7C" komutunun zaferinin sonucu beyaz bir yaprak biti üzerinde açık kırmızı harfler olacaktır.

/U- Unicode formatındaki komutun sonuçlarının sonucu

/V:AÇIK (/V:KAPALI)- zastosuvanny'den değiştirilebilir orta kısmın (belirli bir cmd.exe tıklaması için) ilave genişlemesine izin verildi (çit) dolu işareti"!" ayırıcı gibi. Örneğin, /V:ON vikorystuvat!var!'a izin verir. Fetih saatine göre değişimin genişlemesi olarak. Var sözdizimi, FOR döngüsünün ortasında farklı sonuçlar üretmek için girildiğinde yapılan değişiklikleri genişletmeye yarar. Genişletilmiş orta kısım kapatıldığında "!" (dolu işareti) Vikonanne saatindeki ikame ortamın akış değerini değiştirmek için kullanılabilir; /X - değerin karanlığından dolayı /E:ON anahtarıyla aynı anlama gelir; /Y, i /E:OFF ile aynı. Ve biraz daha saygı.

/C veya /K tuşları belirtilirse, böyle bir tuştan sonraki komut satırı bir komut satırı olarak oluşturulur ve pençe sembollerinin (") işlenmesi bu şekilde gerçekleştirilir. Komut satırındaki pençe sembolleri aklın tüm adımları girildiği için kaydedilir: /S tuşu eksik, Tam olarak iki pençe sembolü var, aralarında başka özel semboller yok, örneğin: &<>()@^|; aralarında bir veya birkaç açıklık var; bitirilecek dosyanın adlarında pençelere yerleştirilen satır. Diğer versiyonda ilk karakter kontrol edilir ve eğer bir pençe sembolü ise kaldırılır, komut satırında kalan pençe sembolü de kaldırılır ve son pençe sembolünün tüm metni kaydedilir.

Konsol penceresinin metninin ve arka planının rengini ayarlama tablosu:

0 – siyah; 1 – mavi; 2 – yeşil; 3 – blakitniyum; 4 – Frenk maydanozu; 5 - menekşe; 6 – zhovtiy; 7 – beyaz; 8 – seri; 9 - açık mavi; A – açık yeşil; B – açık mavi; C – açık kırmızı; D – açık leylak; E – açık sarı; F – parlak beyaz.

Konuşmadan önce renk ve diğer ayarlar başka bir şekilde değiştirilebilir. Tıklamak sağ düğme Pencere başlık satırı boyunca ilerleyin ve Güç'ü seçin. Program değiştirme seçeneklerinin mevcut olacağı bir dizi sekme göreceksiniz. Komut satırının standart siyah ekranını beğenmezseniz, Renk sekmesinde ekran ve metin için bir renk veya benzer karakterlerin bulunduğu 16 standart renk arasından bir renk seçmeniz veya sayısal bir değer belirtmeniz istenir. renk için RGB formatı. Düzen sekmesinde pencerenin ve ekran arabelleğinin boyutunu ayarlayabilirsiniz. Erken MS-DOS işletim sistemlerinde olduğu gibi ve Windows boyutu Ekran aynı 25 satır yüksekliğinden ve 80 karakter derinliğinden yoksundu ve çok sayıda satırı görüntülemek için |more komutunu eklemek gerekiyordu, ardından NT ve sonraki sistemlerde basitçe büyük bir arabellek boyutu ayarlayabilirsiniz. ekran ve çekirdek, daha zengin olan karanlık kaydırmayı hisseder.

Komut satırı penceresindeki metin Komut satırı penceresindeki metni kopyalayıp yapıştırmak için, Ctrl+C, Ctrl+V gibi Windows'a özgü tuş birleşimleri kullanılmayacaktır. Panodan metni kaldırmak için menüye tıklamanız, pencere başlığına sağ tıklamanız ve Düzenle alt menüsünü seçmeniz gerekir. Veya pencereye sağ tıklayın. Pencereden metin kopyalamak için İşaretle'yi seçin ve gerekli metni görmek için farenizi kullanın. Daha sonra Enter tuşuna basın veya aynı menüden Kopyala'yı seçin. Komut satırı penceresine metin yapıştırmanız gerekiyorsa Yapıştır komutuna gidin. Bir komutu tekrar ziyaret etmek için ok tuşlarını kullanın<<вверх>> і<<вниз >>, komut listesinde gezinmenizi sağlar. Ekranı temizlemek için metinde cls direktifi kullanılmıştır.

BAŞLIK- satır başlığını değiştirmek için

BAŞLIK[Satır], satır - bu, komut satırı penceresinin geçerli başlığıdır (sekmeler olmadan kaydedilir). Pencerenin başlığını girdikten sonra tekrar TITLE komutuna tıklayarak değiştirebilirsiniz. Bu komutlar komut dosyalarında görünebilir.

Böylece, popo aşağıya doğru baktığında, pencerenin başlığında gözle görülür bir yazının ortaya çıkması eşlik edecek:

TITLE Dosyalar kopyalanıyor...

KOPYALA \\Sunucu\Paylaşım\*.doc C:\Kullanıcı\Ortak\*.doc

ECHO Kopyalama tamamlandı.

TITLE İşlem tamamlandı

Takım AT- Ek komutlar için komutları ve programları en erken saatte çalıştırabilirsiniz.

AT[\\bilgisayar] [ | /SİLMEK ]

AT[\\bilgisayar] saat [ /EVERY:tarih[,...] | /NEXT:tarih [,...]] "komut"

\\ Bilgisayar adı hakkında talimat verir uzak bilgisayar, üzerinde planlanan görevlerin başlatılabileceği. Bu parametre belirtilmezse, AT komutunun başlatıldığı bilgisayar aktarılır;

İD atanan komutun tanımlayıcısı;

/silmek Amaçlanan komutu yürütür. ID atlanırsa bilgisayardaki tüm komut değerleri atlanır;

/Evet Bu parametre, önceki parametre seçildiğinde (/delete), tüm istekler için onayı otomatik olarak açar;

zaman komuta saati (24 yıllık Godini:khvilini formatında);

/interaktif AT komutunun maksimuma kadar bağlantılarla iletişim kurmasına izin verir narazi koristuvachami sisteminde;

/her:tarih[,...] yılın ve ayın her günü (günleri) için komutu seçer. Tarih atlanırsa ayın tam günü dikkate alınır;

/sonraki:tarih[...] Girilen komut, belirtilen tarih geldiğinde (örneğin önümüzdeki Perşembe) yürütülecektir. Tarih belirtilmemişse ayın tam günü dikkate alınır;

"takım" kefil olmak Windows komutu NT veya paket programı yak vikonan olacak. Dosya adı tam olarak girilebilir. Bu durumda, COPY veya DIR gibi dahili komutlara nasıl bağlıdır ve değil vikonvany dosyası, bu durumda komut yorumlayıcısını /C anahtarıyla başlatmak gerekir, örneğin:

10:00'da CMD / C DIR > C:\test.out.

Takım İçin- Bu olasılıklar harika, ancak biz bunlardan sadece birini göstermekle sınırlıyız - En azından tüm makinelere aynı anda kopyalama. Dosyayı yirmi makineye kopyalamanız gerekebilir. Savaşmak gerçekten zor. Başlangıçta list.txt dosyası mevcut tüm makinelerin bir listesini kaydeder. Konsol şunu söylüyor:

net görünüm > c:\list.txt

Ardından, örneğin patch.exe dosyasını listedeki bir makineye kopyalamak için silmek için şu komutu veriyoruz:

FOR /F "tokens=1" %i (z:\list.txt) dosyasında d:\temp\patch.exe "%i\C$\program files\ICQ" dosyasını kopyalamak için

%i değişikliği, list.txt dosyasındaki yeni bir satırdaki NetBIOS makine adı değerlerini otomatik olarak kabul edecek ve o makineye kopyalanacaktır.

Komut satırının isteğine göre değişiklik

cmstp.exe

Çeşitli: WINDOWS\system32

Tanım: Microsoft Bağlantı Yöneticisi Profil Yükleyicisi

Bağlantı yöneticisi hizmet profilini yükleyin veya görüntüleyin. Parametre komutu olmadan Vikonana cmstp işletim sistemine ve kullanıcının izinlerine uygun standart parametrelere sahip bir hizmet profili yükler.

comp.exe

Çeşitli: WINDOWS\system32

Açıklama: Dosya Karşılaştırma Yardımcı Programı

İki veya daha fazla dosyanın bayt bayt hizalanması. Takım kompozisyon bulunan dosyaları gözden geçirmenizi sağlar farklı diskler ve çeşitli kataloglarda. Dosyaları güncellerken ek komutları kullanın kompozisyonİsimleri görüntülenir ve adları görüntülenir. Parametre komutu olmadan Vikonana kompozisyon güncellenmesi için dosyalar ister.

Dovidtsa Windows'taki programın açıklaması

Sözdizimi:

kompozisyon[dosya1] [dosya2] [ /D] [/A] [/l] [/n= sayı_satırlar] [ /C]

C:\Reports dizinini \\Sales\Backup\April yedekleme dizininden değiştirmek için aşağıdaki komutu girin:

comp c:\reports\sales\backup\nisan

\Fatura kataloğundaki dosyaların ilk on satırını hizalamak ve sonucu onluk formatta görüntülemek için aşağıdaki komutu girin:

comp \fatura\*.txt \fatura\backup\*.txt /n=10 /d

kompakt.exe

Çeşitli: WINDOWS\system32

Açıklama: Dosya Sıkıştırma Yardımcı Programı

NTFS bölümlerindeki bilgileri görüntüleme veya güçlendirilmiş dosya ve dizinleri değiştirme. Komut parametre olmadan başlatıldı kompakt akış kataloğundaki dosyaların genişletilmesiyle ilgili bilgileri görüntüler.

Dovidtsa Windows'taki programın açıklaması

Sözdizimi:

kompakt[(/c|/u)] ] [dosya_adı[...]]

control.exe

Çeşitli: Windows\system32

Açıklama: Panel Windows yönetimi - Windows Kontrolü Panel

Bu komut uygulamaları başlatmak için kullanılır.

Poradi: Sisteme giriş nasıl otomatikleştirilir

Kayıt Defteri: Kontrol Panellerinin ve uygulamaların başlatılmasının engellenmesi

Convert.exe

Çeşitli: Windows\system32

Tanım: Dosya Sistemi Dönüştürme Yardımcı Programı

Birimleri yeniden oluşturmak için komut satırı yardımcı programı kullanılır dosya sistemi NTFS dosya sistemiyle FAT ve FAT32.

Sözdizimi:

dönüştürmek[kime] /fs:ntfs

cscript.exe

Çeşitli: Windows\system32

Açıklama: Microsoft (r) Konsol Tabanlı Komut Dosyası Sunucusu

Komut dosyası sunucusu cscript.exeє istemciyle komut satırı aracılığıyla etkileşimde bulunmak için kullanılan konsol sürümü (wscript.exe GUI programları altında yönetilecek).

Sözdizimi:

metin[script_name] [sunucu_parametreleri] [script_arguments]

Windows'ta bulunan parametrelerin açıklaması

cacls.exe

Çeşitli: Windows\system32

Açıklama: Erişim tablosunu değiştirme - ACL'leri Kontrol Etme Programı

Program, seçilen veritabanı erişim tablosunun (DACL) dosyalarını görüntülemek veya değiştirmek için kullanılır.

Windows'ta bulunan programların açıklaması

Windows XP'de, komut yorumlayıcısı cmd.exe, komut satırı parametrelerini belirtmeden basitçe başlatıldığında, işletim sisteminin sürümünü, işletim sistemi satıcılarının telif hakkı korumasıyla ilgili bilgileri ve ayrıca girebileceğiniz komut satırının kendisini görüntüler. programın kendisi mi cmd'nin bir komut satırı parametresidir. exe veya harici bir komut, örneğin başka bir programı başlatma komutu veya mkdir, del vb. gibi standart bir komut. Komut satırının parametrelerini girdikten sonra elbette eylemleri kaldıracaksınız. ek olanaklar. Sözdizimi şu şekildedir:

CMD [komut]

Burada iktidarda olan komut, tamamlanması gereken bir komutu veya programı belirtir. Aynı anda bir dizi komutu seçerek bunları seçebilirsiniz ve aralarında özel bir ayırıcı vardır - && sembolleri, burada bir dizi komutun tüm girişlerinin sekmelere yerleştirilebildiği, örneğin “komut&&komut&&komut” .

Şimdi Mayzhe OFITSIAN Belgeseli Microsoft'tur (ї Pіdredaguvati'nin gülümsemesini aldım, trochi'yi insanlar için kaydırdım, Danas Vipad'deki Yaksho Ts, cilt parametresinin Rodchifruvati'sini idare edebilirim:

/?

Viklik dovidki (hatta bir rapor, bu makaleye dayanarak bu makale yazılmıştır).

/A

Belirtilen komutun sonuçlarını ANSI formatında görüntüler.

/C

Verilen komutu tamamlanır tamamlanmaz kaydeder (bu, konsol penceresini kapatacaktır).

/D

AutoRun komutlarının pencerelenmesi (cmd.exe'ye tıkladığınızda otomatik olarak açılan ilk komutlardır), kayıt defterinin özel bölümlerindeki görevler (REG_SZ tipi parametrelerin hangi bölümde ayarlandığı) ve (REG_EXPAND_SZ tipi parametrelerin hangi bölümde ayarlandığı) ayarlamak).

/E:AÇIK (/E:KAPALI)

Ekiplerin genişletilmesine izin verildi (çit). Windows XP'de tüm cmd.exe komutlarının işlenmesi genişletilmiştir; bu parametre belirli bir işlemin genişletilmesini geliştirmek/genişletmek için kullanılır.

Tamamen etkinleştirin veya gelişmiş işlemeyi etkinleştirin bu bilgisayar veya belirli bir müşteri için kayıt defterinde, aşağıdaki bölümlerde ve.

Bu bölümlerdeki "EnableExtensions"=dword:00000001 parametresi uzantıları etkinleştirir ve "EnableExtensions"=dword:00000000 - kullanıcı parametrelerinin bilgisayar parametrelerine göre öncelikli olduğu, komut işlemcisinin /E parametresinin değerinin parametre kayıt defterine göre öncelik.

Komutların işlenmesi genişletilirken, ek komutların değiştirilmesi ve/veya eklenmesi kesintiye uğrayacaktır: assoc, call, chdir (cd), color, del (erase), endlocal, for, ftype, goto, if, mkdir (md), popd , Prompt, Pushd, Set, Setlocal, Shift, Start (harici komutların girişi de değişir); /F:ON (/F:OFF) - belirli bir cmd.exe komutu için dosya ve klasör adlarının tamamlanmasına izin verir (devre dışı bırakır). Konsol penceresine dosya veya klasör adlarını manuel olarak girmenize değil, özel bir tuş ve işletim sistemi tarihleri ​​kombinasyonuna basarak adın yalnızca bir kısmını girmenize olanak tanıyan bir manuel işlev ekleyin Mevcut seçenekleri keşfedin ve istediğiniz seçeneği seçin ihtiyaç.

Tüm cmd.exe çağrıları için ad tamamlamayı etkinleştirmeniz veya devre dışı bırakmanız gerekiyorsa, kayıt defteri bölümlerinde (yerel makine için) ve (satır içi makine için) aşağıdaki parametreleri ayarlayın (ayarlar için değerler belirtilir) ):

"CompletionChar"=dword:00000040
"PathCompletionChar"=dword:00000040

onaltılık değerleri belirli bir işlevi gerçekleştiren karakter koduna karşılık gelecek şekilde (örneğin, Ctrl+D için 0 x 4 veya Ctrl+F için 0 x 6). Bu, dergimiz TweakUI'de birden fazla kez icat edilen ve açıklanan bir yardımcı programı evde oluşturmanıza olanak tanır.

Bilgisayar ayarları, bilgisayar ayarlarından önceliklidir ve komut işlemcisi /F değeri, kayıt defteri seçeneklerinden önceliklidir.

Microsoft bu işlevin değerini açıklığa kavuşturmuştur: "Ek komut satırı anahtarı /F:ON ile tamamlama etkinleştirilirse, iki anahtar karakter seçilir: Klasör adları için Ctrl+D ve dosya adları için Ctrl+F. Belirli bir karakter eklemek için karakter tamlığı c Özel karakter kodu kapsamında boşluk karakterinin onaltıncı değeri (0 x 20) girilir, bu iki özel karakterden biri girildiğinde tamamlandığı belirtilir.

Tamamlama işlevi, ekleme noktasından sol taraftaki yolların bir satırını alır, önündeki desene bir gün gibi bir sembol ekler ve ardından seçilen değere karşılık gelen yolların bir listesi olacaktır. Bundan sonra ayırt edilen rotalar listesindeki ilk öğe görüntülenir. Liste boşsa bir bip sesi duyulur ve hiçbir şey görüntülenmez. Aynı özel sembolün tekrar tekrar tanıtılmasından sonra, tüm yol türlerinin döngüsel bir araştırması gerçekleştirilir.

Keruvannya sembolünü yazarken Shift tuşuna basmak rota listesine ters sırada göz atmanızı sağlar. Rota girişini değiştirip sembolü tekrar girerseniz tasarruf listesi temizlenir ve yeni bir rota listesi oluşturulur. Bir tamamlama sembolünden diğerine geçiş yaparken de aynı durum geçerlidir. Dosya sonlandırma sembolü vekaleten olduğunda aynı fark, bir erişim listesi oluştururken hem yolların hem de dosya adının alınması ve klasör sonlandırma sembolü vekaleten olduğunda sadece yolların alınması gerçeğinde yatmaktadır.

Verilen klasör işleme komutlarından (CD, MD veya RD) birinde tamamlama sembolü görünürse, klasör tamamlama sembolüne her zaman uyulur.

Tamamlama sembolü, boşlukların veya diğer özel karakterlerin (örneğin, tabana yerleştirme sırası) değiştirilmesi için dosya adlarıyla doğru şekilde çalışır. Ayrıca ekleme noktasını sola kaydırırsanız ve ardından tamamlama simgesini satırın ortasına eklerseniz, ekleme noktasından sağ elini kaybeden metin dışarı atılacaktır.

Cildi pençelere zorlayan özel semboller:

<пробел> & () { } ^ = ; ! ’ + , ` ~ "

Her şey netleşti mi?

/K

Daha fazla tamamlamadan belirtilen komuttan çıkın (burada konsol penceresi kapanmayacaktır).

/Q

Vimknennya ekranda komutları görüntülüyor (ECHO OFF).

/R

Benzer parametre /C.

/S

/C chi /K sonrasında komutun davranışını değiştirin.

/T:renk

Metnin rengini ve konsol penceresinin arka planını belirtin.

Renk parametresi on altıncı iki sayının görünümünü temsil eder: birincisi pencerenin arka planının rengini, diğeri ise pencere metninin rengini belirler. Cmd.exe başlatıldığında renk kümesi değişmediyse (örneğin, komut işlemcisinin başka bir oturumu tarafından), o zaman kayıt defteri parametresi şu anlama gelir: dış görünüm konsollar:

"DefaultColor"=dword:00000000

Bu renk numaralarının çeşitleri tabloda gösterilmektedir.

Daha sonra “CMD / T: 7C” komutunun yürütülmesinin sonucu beyaz yaprak biti üzerinde açık kırmızı harfler olacaktır.

/U

Komutun sonuçlarının Unicode formatında görüntülenmesi.

/V:AÇIK (/V:KAPALI)

Orta değişkenin (belirli bir çağrı için cmd.exe) "!" çağrısının dur işaretinden genişletilmesine izin verildi (çitlendi). ayırıcı gibi. Örneğin, /V:ON vikorystuvat!var!'a izin verir. Fetih saatine göre değişimin genişlemesi olarak. Var sözdizimi, FOR döngüsünün ortasında farklı sonuçlar üretmek için girildiğinde yapılan değişiklikleri genişletmeye yarar.

Ayrıca, "DelayedExpansion"=dword:00000001 parametresini "DelayedExpansion"=dword'e izin verecek şekilde ayarlayarak, genişletilmiş middle değişkeni kayıt defterine, bölümlere (yerel makine için), (satır içi makine için) eklenebilir veya eklenebilir. :0000000 0 çit için.

Bilgisayar ayarlarının bilgisayar ayarlarına göre önceliği vardır ve komut işlemcisinin /V değerinin kayıt defteri ayarlarına göre önceliği vardır.

Genişletilmiş orta kısım kapatıldığında "!" (Sembol dolu işaretidir) değiştirilebilir bir ortamın akış değerini, visinasyon saatinin altında değiştirmek için kullanılabilir.

/X

/E:ON tuşuyla aynı anlama geliyor, anlamın karanlığından.

/Y

i /E:OFF ile aynı olanlar.

Ve son olarak, çok değerli saygılar.

/C veya /K tuşları belirtilirse, böyle bir tuştan sonraki komut satırı bir komut satırı olarak oluşturulur ve pençe sembollerinin (") işlenmesi bu şekilde gerçekleştirilir. Komut satırındaki pençe sembolleri zihnin tüm adımları tamamlandığı için kaydedilir:

  • anahtar /S günü;
  • є tam olarak iki pençe sembolü;
  • Aralarında başka özel karakter yoktur, örneğin: &< > () @ ^ |;
  • aralarında bir veya birkaç açıklık var;
  • bitirilecek dosyanın adlarında pençelere yerleştirilen satır.

Diğer versiyonda ilk karakter kontrol edilir ve eğer bir pençe sembolü ise kaldırılır, komut satırında kalan pençe sembolü de kaldırılır ve son pençe sembolünün tüm metni kaydedilir.

Videdennya, zavdannya ve vidennya vidennya zmіnnykh sredovishche cmd.exe.

SET [değişim=[satır]]

Zminna Im'ya zminnogo orta.

Satır Belirtilen değişkene atanan sembollerin satırı.

Değiştirilebilir medyayı tam olarak görüntülemek için parametresiz olarak SET'e girin.

Genişletilmiş komut işleme etkinleştirildiğinde SET komutunun değiştirilmesi:

Çağrı saatinde değişikliğin adını eşitlik ve anlam belirtisi olmadan belirtirseniz,

SET komutu, isimleri başlayan tüm değişkenlerin değerlerini gösterecektir.

Belirlenen satırdan. Örneğin:

Bu komut, adları "P" ile başlayan tüm değişkenlerin anlamını gösterecektir.

SET komutu çevrildiğinde akış ortamında değişikliğin adı bulunamıyorsa

sıfırlama değerini HATA SEVİYESİ 1 olarak ayarlayın.

SET komutu adda ekolayzırın kullanılmasına izin vermiyor

aşağılık orta halli.

SET komutu iki tanesini destekler ek anahtarlar:

SET /A viraz

SET / P değişkeni =

/A tuşu, eşitlik işaretindeki sağ satırın sayısal olduğunu belirtir

Anlamı hesaplanan Viraz. Virüslerin Toplanması

basit ve iniş sırasına göre listelenen aynı işlemleri destekler

öncelik:

() - gruplandırma

! ~ - - tekli operatörler

*/% - aritmetik operatörler

Aritmetik operatörler

<< >> - iki tekerlekten çekiş

& - çift ben

^ - Dviykove vyklyuchne ASG

| - Dviykove ASG

= *= /= %= += -= - atandı

&= ^= |= <<= >>=

Rozdіlyuvach operatörleri

Herhangi bir mantıksal veya ikili işleç seçerken,

pençelere bir sıra viraza yerleştirin. Bir virüste sayısız satırın olup olmadığı

anlamları yeniden yaratılan, değişen orta şeylerin adları olarak görülüyor

vikoristannyam'ın önünde sayısal bir görünüme sahip. Belirlenen isimlerden nasıl değişiklik yapılır?

sisteme atanmaz, bunun yerine sıfır değerler kullanılır. Tse

aritmetik işlemleri değişken orta noktaların değerleriyle dönüştürmenize olanak tanır,

Üstelik değeri kaldırmak için % işaretini girmenize gerek yok. Takım ne?

SET /A toplu iş dosyasından değil komut satırından çağrılır, göreceksiniz

Vislovlyuvannya'nın kalıntı değeri. Atanan herhangi bir operatörden kötülük

Değiştirilebilir bir orta değer olabilir. Sayısal değerler olarak görülüyor

onaltılık sayılar için bunların önünde 0x öneki bulunmadığından onlarca,

ve yüksek sayılar için 0. Örneğin 0x12 sayıları,

ta 022 demek onuncu sayı 18. Saygınızı kayıtlara geri alın

Aşağıdaki sayılar şunlardır: 08 ve 09 geçerli sayılar değildir, dolayısıyla

Sekizli sistemde 8 ve 9 sayıları düzeltilmez.

/P tuşu, girilen giriş satırı için değişiklik değerini ayarlamanıza olanak tanır

koristuvachem. Okumadan önce istenen PromptString'i gösterir

satıra girildi. PromptString isteği boş olabilir.

Değiştirilebilir merkezin ayarı aşağıdaki şekilde genişletilebilir:

%PATH:str1=str2%

"str1" dış görünüm girişini değiştirerek PATH değişim ortamının işlevini genişletin

genişletilmiş sonuç "str2". "str2" için boş bir satır olabilir

Genişletilmiş görünümden "str1" girişini etkili bir şekilde görüntüleyin. "str1" olabilir

bir yıldızdan başlar ve bu durumda birine bildirilecektir

genişletilmiş videonun başından ilk girişe kadar "str1"e karar verin.

Ayrıca vikorista satırlarını da genişletebilirsiniz.

PATH değişim merkezinin faaliyetini genişletin, ardından vikoryst 5

genişletilmiş metnin 11. karakteriyle başlayan karakterler (10 eksik)

sonuç. Dovzhin dahil değilse, ücretler için vikoryden çok fazla ücret alınır

değişimin değeri. Rahatsız edici değerler nelerdir (atlanan karakter miktarı ve sayısı)

negatif, takasın değeri son ise galip gelecek bu tür değerler

orta, geçişin veya belirlenen dovzhin'in belirlenen değerine eklenir.

Kalan 10 karakteri PATH değişikliğinden çıkarın.

PATH değişkeninin kalan 2 tanesi dışındaki tüm sembollerini çıkarın.

Zamanı geldi, değişken ortalar için ölüm saatine teşvik eklendi

keskin. Hazırlanmak için bu destek verilmektedir. Anahtar /V komut satırı

CMD.EXE onu kurmanıza ve kaldırmanıza olanak tanır. Düğmeye tıklamak için CMD /? yazın.

Etrafta dolaşırken keskinleştirilmiş rengin değişken ortası için Vikonannaya saati nedeniyle

Bir metni ilk okuduğunuzda ortaya çıkan erken iletişimin sınırı

satırlar ve saatin altında değil їїї вїї вїї вїкїння. Saldırgan popo suçluluk duygusunu gösteriyor

Erken iletişimin engellenmesiyle ilgili sorun:

VAR'ı ayarla=önce

If "%VAR%" == "önce" (

if "%VAR%" == "after" @echo Dahili eşitleme operatörünün gövdesi

Hiçbir şeyle ilgili bu bilgi görüntülenmiyor çünkü Her iki IF virüsünde de %VAR%

vücut dahil olmak üzere ilk IF'de ilk vikoristanya anında değiştirilir

Bir depo virüsü olan ilk sökme IF. Ortada IF'de

depo ifadesi aslında "önce" değerine eşittir ve

"sonra" ki bu kesinlikle iğrenç. Saldırgan popo aşağıdaki davranışı gösterir:

LİSTE'yi ayarla=

(*)'daki %i için LIST=%LIST% %i değerini ayarlayın

Bu durumda akış klasöründeki dosyaların listesi geri çağrılmaz. Zamist

Değiştirilen LIST'in değeri, bulunan kalan dosyanın adı olacaktır.

Ve yine %LIST% yalnızca bir kez sunuldu -

liste hala boşsa, FOR virüsünün işlendiği anda.

Aslında nişan alma parçası dipçiğe eşdeğerdir:

(*) içindeki %i için LIST= %i değerini ayarlayın

Kalan bulunan dosyanın değiştirilen LİSTE'ye kaydedileceği ad.

Saat nedeniyle değişken orta için gün sonu mutlaka bekleniyor.

vykoristannya özel sembolü (işaret işareti), yani

Gösteri Viconn saatinde gerçekleştirildi. Bağlantının desteğiyle belirtildiği gibi

bitirme zamanı, ardından odaklanmanız gereken sonuçlara ulaşmak için

suçluluğun bazı kısımları şu şekilde değiştirildi:

VAR'ı ayarla=önce

If "%VAR%" == "önce" (

VAR=sonrasını ayarla

Eğer "!VAR!" == "after" @echo Dahili eşitleme operatörünün gövdesi

LİSTEYİ Ayarla =

(*)'daki %i için LIST=!LIST!'i ayarlayın.%Ben

Genişletilmiş komut işlemeyi genişletirken bir dizi değişiklik yapılabilir

listede görüntülenmeyen ancak SET komutuna basıldığında görüntülenen orta öğeler.

Bu değişikliklerin değerleri hesaplandıktan hemen sonra dinamik olarak hesaplanır.

Muhabirin değişiklikleri bu isimlerden biriyle açıkça belirtmesi halinde,

o zaman bu değer benzersiz dinamik değerle örtüşür,

Aşağıda açıklanan:

%CD% - akış dizininin yanında açılır.

%DATE% - DATE komutunun formatına benzer şekilde tam tarihi görüntüler.

%TIME% - TIME komutunun formatına bağlı olarak kesin tarihi görüntüler.

%RANDOM% - ilk onda 0 ile 32767 arasında bir sayı görüntülenir.

%ERRORLEVEL% - ERRORLEVEL'in tam değerinde görüntülenir

%CMDEXTVERSION% - tam sürüm değerinde açılır

genişletilmiş komut işleme

%CMDCMDLINE% - tıkladığınız çıktı komut satırını açar

komut işlemcisi