關於電腦上的知識, 如 Linux, Perl, C/C++, C# …

2009年9月18日 星期五

BAT set 設定變數的問題

問題來源:

問題內容:
請問一下,在批次檔(BAT)設定變數中,

我可以把變數設成命令嗎?

譬如說:

在同個資料夾下,有個A.TXT

A.TXT內容為C:\Test\

我可以設定變數BBB = A.TXT其中的內容嗎?

set BBB = A.TXT

然後我只要copy B.txt %BBB%

這樣自動就會複製到C:\Test\


另外我想問有辦法把指令設定成變數嗎?

譬如:

我想把dir /b /s a.txt的結果

設定成AAA,請問有辦法這樣做嗎?

問題答案:
分成兩個部份來回答:

1、使用檔案導向,將檔案內容導入環境變數(限制只能讀取第一行內容):
@echo off
set /p BBB=<a.txt
if not exist %BBB% md %BBB%
copy b.txt %BBB%

2、方法和 1 一樣,只是多一個步驟,先將資料導到一個暫時檔:
@echo off
dir /b /s a.txt>$$$
set /p AAA=<$$$
del /q $$$
echo %AAA%


沒有留言:

張貼留言

LinkWithin

Blog Widget by LinkWithin