2016-04-15 40 views
1

幾年前我記得使用,將採取由空格分隔的變量,將每個值賦給%1%2%3設置命令將所有參數爲%1%2%3等

我讀了一組命令從文件的線,其具有以下結構

"log file" "B:\Current\log" "B:\Backup\warehouse" "Warehouse_Day" 

,並將其分配給一個變量可以說params,然後執行臭名昭著set命令params,然後自動地我可以單獨使用每個參數。

如果我做了echo %1,我會得到log file
如果我這樣做echo %2,我會得到B:\Current\log
如果我這樣做echo %3,我會得到B:\Backup\warehouse

有誰記得或知道命令是?

+0

你的意思是'for'循環嗎? – Clijsters

回答

3

當我明白你的權利,這是你所想的:

@echo off 
set /p "params="<params.bat 
echo %params% 
call :program %params% 
echo %1, %2, %3, %4 are gone. 
echo --%param4%-- 
goto :eof 

:program 
echo %1 
echo %2 
echo %3 
echo %4 
set param4=%4 

當然的%n指標的影響僅僅是調用的子程序內有效,都走了,當你從子程序返回(但你可以從它們派生其他變量)。

如果您需要擺脫引號,請使用%~1%~2等。

相關問題