2013-03-02 25 views
1

我以爲這些都是完全相同的東西,除了在放入命令中的批處理文件中,它會像一個函數一樣執行文件中寫入的所有命令。寫入批處理文件與提示中寫入命令不同?

所以,如果我把這個命令:

for %i in (*.jpg) do tesseract %i %i.txt 

其中正方體是JPG文件轉換成文本文件的程序,它工作正常。 (tesseract input.jpg output.txt

但是,如果我在批處理文件中寫入完全相同的行,它不會說'我這次是意外的'。

@echo off 
for %i in (*.jpg) do tesseract %i %i.txt 

有誰知道發生了什麼問題?

回答

5

在一個批處理文件,您必須將%標誌翻番:

@echo off 
for %%i in (*.jpg) do tesseract %%i %%i.txt 
+1

任何人誰是想知道,它確實是因爲一個百分號讀作什麼,所以「%i」的會被解讀爲「一世」。這會導致「我目前沒有預料到」。錯誤信息。但是,雙重百分號被解釋爲單個。爲了證明這一點,你可以把'echo %%%'放入一個批處理文件並觀察結果。 – 2013-03-03 10:20:06

相關問題