Pencereler 7 komut satırı girişi


1

Dosya sunucumda bir sürücüler klasörüm var. Kullanıcının bir bilgisayar model numarası girmesini isteyecek bir komut satırı komut dosyası yazıyorum. komut dosyası daha sonra doğru klasörü kopyalamak için bu girişi kullanır.

Bu benim senaryom

set /p model="Enter Model Number"

mkdir c:\j2Global\%model%

xcopy /s /e /y "\\j2hqfil01\software\01_ALL DRIVERS\Dell\Desktops\%model%" "C:\j2Global\%model%\"

pause

merak ettiğim şey, metni girdiye hazırlamanın mümkün olup olmadığıdır.

sürücüler klasörleri Optiplex 9010 veya Latitude E5440 olarak adlandırılmıştır, örneğin şu anda kullanıcının Optiplex veya Latitude yazması gerekir.

Klasör yolunu değiştirmenin bir yolu var mı, böylece kullanıcı 9010'a girerse Optiplex 9010 klasörünü kapar mı?

Aradığım kişinin "\ j2hqfil01 \ software \ 01_ALL DRIVERS \ Dell \ Desktops \% ​​model%" klasör yolunu "\ j2hqfil01 \ software \ 01_ALL DRIVERS \ Dell \ Masaüstleri *% model%" gibi bir şeyle değiştirmek olduğunu sanıyorum

Yanıtlar:


2

Yalnızca 2 seçeneğiniz olduğuna göre, en kolay yol bir klasör olup olmadığını doğrulamak ve her iki durumda da denemektir. eğer öyleyse, dosyaları kopyalar. Bu komut dosyası:

set /p model="Enter model number"
set "model1=OptiPlex %model%"
set "model2=Latitude %model%"

if exists "\\j2hqfil01\software\01_ALL DRIVERS\Dell\Desktops\%model1%" (
     :: enter commands for OptiPlex below this line

)

if exists "\\j2hqfil01\software\01_ALL DRIVERS\Dell\Desktops\%model2%" (
     :: enter commands for Latitude below this line

)

1

Merak ettiğim şey, girişi metne hazırlamanın mümkün olup olmadığıdır.

İşte bir değişkene metin hazırlama örneği:

set /p model="Enter Model Number"
set model=OptiPlex %model%

Kullanıcı girdileri 9010, ona "Optiplex" i hazırlar ve yeni değeri (geri) 'model' a atar, yani sonunda "model" artık bir değere sahiptir OptiPlex 9010.

Bunu istediğiniz klasörü seçmek için nasıl kullandığınız farklı bir hikaye ve gerçekten ayrı bir soru olmalı.


0

Büyük / küçük harfe duyarlı yapmak için if (s) kullanacaksanız / I argümanını kullanmak isteyebilirsiniz.

Bir alt dizgenin bir dizgenin parçası olup olmadığını kontrol etseydim, FINDSTR kuralını kullanırdım. Düzenli ifadelerle, bir dizi kural yapabilirsiniz.

Model + Numara ile dizi oluşturun

Bir değer veya bazı değerler dizinin bir parçasıysa, geçer.

Örnek kod:

:başla

cls

set / p model = "Modelinizi girin"

set name1 = Optiplex

name2'yi ayarla = Enlem

sayı 1 = 9010

sayı 2 = E5440 ayarlayın

% ECHO% name1%% number1%

% ECHO% name2%% number2%

set / p model1 =% isim1%% sayı1%

set / p model2 =% isim2%% sayı2%

:etiket

rem 20'yi yüklemek için FOR LOOP gibi birden fazla cihazı daha kolay yönetmek için kod ekleyin

değişkenleri kukla değişkenlerde birer birer rem.

: döngü

Eğer% model% ==% model1% |% name1% |% number1% (

ECHO% model1% seçtiniz!

git: yol

)

% IF% model% ==% model2% |% name2% |% number2% (

ECHO% model2% öğesini seçtiniz!

git: yol

) BAŞKA (

ECHO Yanlış Komut!

Goto: başlangıç)

: yol

rem XCOPY komut dosyanızı buraya girin!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.