Lệnh shift trong Windows

Lệnh shift giúp thay đổi vị trí của các tham số batch trong một tệp batchĐể hiểu hơn cách sử dụng lệnh này, hãy xem mục ví dụ bên dưới.

Cú pháp lệnh shift

shift [/n <N>]

Tham số lệnh shift

Tham số

Mô tả

/n <N>

Chỉ định bắt đầu chuyển đổi ở đối số N, trong đó N là bất kỳ giá trị nào từ 0 đến 8. Tham số này yêu cầu các phần mở rộng lệnh (được bật theo mặc định).

/?

Hiển thị trợ giúp tại command prompt.

Chú giải lệnh shift

  • Lệnh shift thay đổi các giá trị của các tham số batch %0 đến %9 bằng cách sao chép từng tham số này vào một tham số trước đó, giá trị của %1 được sao chép thành %0, giá trị của %2 được sao chép thành %1, v.v.
  • Nếu tiện ích mở rộng lệnh được bật, lệnh shift sẽ hỗ trợ tùy chọn dòng lệnh /n. Tùy chọn /n sẽ chỉ định bắt đầu quá trình dịch chuyển ở đối số N, trong đó N là bất kỳ giá trị nào từ 0 đến 8. Ví dụ: SHIFT /2 sẽ chuyển %3 sang %2, %4 sang %3, v.v. 0 và %1 sẽ không bị ảnh hưởng. Phần mở rộng lệnh được bật theo mặc định.
  • Bạn có thể sử dụng lệnh shift để tạo một tệp batch có thể chấp nhận hơn 10 tham số batch. Nếu bạn chỉ định hơn 10 tham số trên dòng lệnh, những tham số xuất hiện sau phần mười (%9), mỗi lần sẽ có 1 tham số trong số đó được chuyển thành %9.
  • Lệnh shift sẽ không ảnh hưởng đến tham số batch %\*.
  • Không có lệnh dịch chuyển ngược (lệnh shift ngược). Sau khi bạn thực hiện lệnh shift, bạn không thể khôi phục tham số batch (% 0) tồn tại trước khi thay đổi.

Ví dụ lệnh shift

Các dòng lệnh sau từ tệp batch mẫu có tên Mycopy.bat trình bày cách sử dụng lệnh shift với bất kỳ số lượng tham số batch nào. Trong ví dụ này, Mycopy.bat sao chép danh sách các tệp vào một thư mục cụ thể.Các tham số batch sẽ được đại diện bởi các đối số tên thư mục và tệp.

@echo off 
rem MYCOPY.BAT copies any number of files
rem to a directory.
rem The command uses the following syntax:
rem mycopy dir file1 file2 ...
set todir=%1
:getfile
shift
if "%1"=="" goto end
copy %1 %todir%
goto getfile
:end
set todir=
echo All done

Xem thêm:

Thứ Sáu, 28/12/2018 21:11
51 👨 177