SHIFT: Vaihtaa korvattavien parametrien paikkaa komentojonotiedostoissa.


 


... Esimerkit komennosta "SHIFT"
... "SHIFT" Ote Microsoft Windowsin ohjeesta
... Tärkeää tietoa, vinkkejä "SHIFT"-komennolle

Komento: "SHIFT" on päällä Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. saatavilla

Esimerkit komennosta "SHIFT"

The`SHIFT`Windowsin komentokehotteessa olevaa komentoa käytetään parametrien paikan siirtämiseen erätiedostossa. Tässä on joitain esimerkkejä käytöstä`SHIFT`-Komento: Esimerkki 1: iteroi erätiedoston parametrien kautta:

@ECHO OFF
:LOOP
IF "%1"=="" GOTO END
ECHO Parameter: %1
SHIFT
GOTO LOOP
:END

Kuvaus: Tämä esimerkki käyttää silmukkaa erätiedoston kaikkien parametrien toistamiseen ja niiden näyttämiseen yksitellen. Käsky`SHIFT`käytetään parametrien paikan siirtämiseen. Esimerkki 2: Summaparametrit erätiedostossa:

@ECHO OFF
SET KAIKKI YHTEENSÄ=0
:ADD_LOOP
IF "%1"=="" GOTO END_ADD
SET /A KAIKKI YHTEENSÄ+= %1
SHIFT
GOTO ADD_LOOP
:END_ADD
ECHO kaikki yhteensä: %KAIKKI YHTEENSÄ%

Kuvaus: Tässä esimerkissä parametrit summataan silmukaksi. Käsky`SHIFT`siirtää parametrin sijaintia ja`SET /A`käytetään summan päivittämiseen. Esimerkki 3: Sisäkkäisten silmukoiden ja SHIFT-näppäimen käyttäminen:

@ECHO OFF
:OUTER_LOOP
IF "%1"=="" GOTO END_OUTER
ECHO Outer Parameter: %1
SHIFT
:INNER_LOOP
IF "%1"=="" GOTO END_INNER
ECHO Inner Parameter: %1
SHIFT
GOTO INNER_LOOP
:END_INNER
GOTO OUTER_LOOP
:END_OUTER

Kuvaus: Tämä esimerkki näyttää kuinka`SHIFT`voidaan käyttää sisäkkäisissä silmukoissa. Ulompi silmukka käsittelee ulkoisia parametreja, kun taas sisempi silmukka käsittelee sisäiset parametrit. Esimerkki 4: Parametrien ohittaminen SHIFT-näppäimellä:

@ECHO OFF
SHIFT
SHIFT
ECHO Kolmanneksi Parameter: %1

Kuvaus: Tässä käytetään kahta ensimmäistä parametria kahdella peräkkäisellä parametrilla`SHIFT`komennot ohitetaan ja kolmas parametri näytetään. Esimerkki 5: Tarkista ja käsittele parametrit:

@ECHO OFF
:PARAM_LOOP
IF "%1"=="" GOTO END_PARAM
IF /I "%1"=="/DEBUG" (
    ECHO Debug-Tila aktivoitu.
    SHIFT
    GOTO PARAM_LOOP
)
ECHO Käsitellä asiaa Parameter: %1
SHIFT
GOTO PARAM_LOOP
:END_PARAM

Kuvaus: Tämä esimerkki tarkistaa, onko ensimmäinen parametri "/DEBUG". Jos näin on, lähetetään viesti ja parametri ohitetaan. The`SHIFT`-komento on erityisen hyödyllinen eräskripteissä, joissa on käsiteltävä vaihteleva määrä parametreja. Ota huomioon, että`SHIFT`siirtää parametriluettelon sisältöä ja määrittää parametrien paikat uudelleen. Siksi se on tärkeää`SHIFT`Käytä viisaasti ja eräskriptisi logiikan mukaisesti.

"SHIFT" Ote Microsoft Windowsin ohjeesta

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\Windows>

Vaihtaa korvattavien parametrien paikkaa komentojonotiedostossa.

SHIFT [/n]

Jos komentolaajennukset ovat käytössä, SHIFT-komento tukee /n-
valitsinta,
jolloin argumenttien siirto alkaa n:nnestä argumentista. 
Muuttujan n arvo
voi olla välillä 0 - 8. Esimerkiksi:

SHIFT /2

siirtää %3:n %2:en, %4:n %3:en jne. %0:n ja %1:n arvot jäävät 
ennalleen.

Tärkeää tietoa, vinkkejä "SHIFT"-komennolle

Kun käytät`SHIFT`komento eräskripteissä, on joitain tärkeitä näkökohtia huomioitava: 1. Parametrien menetys: Jos et`SHIFT`tämä siirtää parametrien sijaintia parametriluettelossa vasemmalle. Tämä tarkoittaa, että ensimmäisen parametrin arvo (`%1`) toisen parametrin (`%2`) korvataan, toisesta parametrista tulee kolmas (`%3`), ja niin edelleen. Viimeisen parametrin arvo (`%9`) menetetään, ja arvo`%0`(skriptin nimi) pysyy ennallaan. 2. Vuorojen lukumäärä: Voit`SHIFT`vain yhdeksän kertaa eräkomentosarjassa, koska siinä on vain yhdeksän numeerista parametria (`%0`siihen asti kun`%9`) antaa. Yhdeksännen muuton jälkeen yhdeksännen parametrin arvo jää hukkaan. 3. SHIFT silmukoissa: Jos et`SHIFT`silmukassa, sinun tulee varmistaa, että ehdot tarkistetaan oikein, jotta vältetään loputon silmukka, jos muita parametreja ei ole.

@ECHO OFF
:LOOP
IF "%1"=="" GOTO END_LOOP
ECHO Parameter: %1
SHIFT
GOTO LOOP
:END_LOOP

4. SHIFT sisäkkäisissä silmukoissa: Jos et`SHIFT`sisäkkäisissä silmukoissa huomioi, että parametrien siirtäminen silmukassa vaikuttaa myös parametrien paikkoihin sisäkkäisissä silmukoissa.

@ECHO OFF
:OUTER_LOOP
IF "%1"=="" GOTO END_OUTER
ECHO Outer Parameter: %1
SHIFT
:INNER_LOOP
IF "%1"=="" GOTO END_INNER
ECHO Inner Parameter: %1
SHIFT
GOTO INNER_LOOP
:END_INNER
GOTO OUTER_LOOP
:END_OUTER

5. Viiveellinen laajennus ja SHIFT: Jos et`SHIFT`yhdessä viivästetyn laajenemisen kanssa (`ENABLEDELAYEDEXPANSION`), ota huomioon, että`!`ei käytetä viivästettyyn laajenemiseen`%`.

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET COUNT=0
:LOOP
IF "!1"=="" GOTO END_LOOP
SET /A COUNT+=1
SHIFT
GOTO LOOP
:END_LOOP
ECHO määrä Parameter: %COUNT%

On tärkeää ottaa huomioon järjestys ja tiheys`SHIFT`Suunnittele huolellisesti varmistaaksesi, että parametrit siirretään odotetulla tavalla eikä tietoja menetetä. Tarkistaa myös tyhjiä parametreja (`IF "%1"==""`) on tärkeää äärettömien silmukoiden välttämiseksi.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



Komento SHIFT - Vaihtaa korvattavien parametrien paikkaa komentojonotiedostoissa.

HTTP: ... console/fi/060.htm
0.093
17991
Can I customize font name and size in cells of Explorer View!
Wo ist das Desktop Verzeichnis auf Windows-11, -12?
LCD Thema für die Desktop Uhr auf Windows?
Won´t do password protected FTP in Explorer Views Addressbar!
Improve video quality when recording videos on Windows 11 and 10!
Reset Q-Dir Explorer to defaults as in fresh Install (Uninstall, Autoupdate)!
Change File and Folder time via MS Explorer Menu!
Desktop icons Hide and Show, Without the timer (Windows 10/8.1/7/...)!
Questions and answers about Explorer, pictures, posters, prints and more!
Can not drag In Explorer View at Windows Administrator Mode!



(0)