Đối với các tệp exe , tôi cho rằng sự khác biệt gần như không quan trọng.
Nhưng để bắt đầu một exe bạn thậm chí không cần CALL
.
Khi bắt đầu một đợt khác, đó là một sự khác biệt lớn,
vì CALL
sẽ bắt đầu nó trong cùng một cửa sổ và lô được gọi có quyền truy cập vào cùng một bối cảnh biến.
Vì vậy, nó cũng có thể thay đổi các biến ảnh hưởng đến người gọi.
START
sẽ tạo một cmd.exe mới cho lô được gọi và không có / b, nó sẽ mở một cửa sổ mới.
Vì đó là một bối cảnh mới, các biến không thể được chia sẻ.
Sự khác biệt
Sử dụngstart /wait <prog>
- Thay đổi các biến môi trường bị mất khi <prog>
kết thúc
- Người gọi chờ cho đến khi <prog>
kết thúc
Sử dụngcall <prog>
- Đối với exe, nó có thể được sử dụng, bởi vì nó chỉ bằng việc bắt đầu <prog>
- Đối với một exe-prog , lô người gọi chờ hoặc bắt đầu exe không đồng bộ, nhưng hành vi phụ thuộc vào chính exe .
- Đối với hàng loạt tác phẩm, lô gọi tiếp tục, khi gọi <batch-file>
kết thúc, KHÔNG gọi sự kiểm soát sẽ không quay trở lại hàng loạt người gọi
Phụ lục:
Việc sử dụng CALL
có thể thay đổi các tham số (đối với các tệp bó và exe), nhưng chỉ khi chúng chứa dấu mũ hoặc dấu phần trăm.
call myProg param1 param^^2 "param^3" %%path%%
Sẽ được mở rộng thành (từ trong một tệp bó)
myProg param1 param2 param^^3 <content of path>