2015-02-19 12 views
5

Tôi tìm thấy mã này, nhưng có những phần mà tôi không hiểu.% ~ 1 làm gì trong tập tin batch này?

Đây là mã của tôi:

Main.bat:

@echo off 
set "CallCount=0" 
set "Mood=" 
set /P "Mood=Your mood is: " 
call Receive.bat "%Mood%" 
rem *Random stuff* 
set "Food=" 
set /P "Food=The food you want is: " 
call Receive.bat "%Food%" 
set "CallCount=" 

Receive.bat:

@echo off 
set /A CallCount+=1   
if "CallCount"=="2" goto Call2 
if not "%~1"=="" echo %1  <---- 
*Random Stuff*     | 
goto :EOF      |---What is %~1 doing in this area? 
:Call2       | 
if not "%~1"=="" echo %1  <---- 
rem Commands for second call. 

Chỉnh sửa: Đây là một tập tin có sử dụng lệnh gọi hai lần.

Trả lời

12

%1 là đối số đầu tiên tạo thành dòng lệnh gọi. Nếu đối số được truyền có dấu ngoặc kép xung quanh nó, %1 bao gồm dấu ngoặc kép. Ở đâu, %~1 cung cấp giá trị đối số với dấu ngoặc kép bị xóa.

Tham chiếu hữu ích here.

+0

Cảm ơn bạn đã làm rõ! Thực sự đã giúp. – Kit

Các vấn đề liên quan