2017-07-03 136 views
-4

我必須匹配bat文件中else塊中的文件模式。 * ABC * 20170202 * .TXT如果其他語句中包含Wild Cards * - 批處理腳本

下面是我需要這樣的例子:

IF EXIST abc.txt (
ECHO "abc File exists" 
TIMEOUT 5 
) else (
echo *abc*20170202*.txt>> download.txt 
echo File printed successful.. 
PAUSE 
) 

它沒有考慮作爲*野生字符在這裏。 請指導如何可以做到這一點

編輯

下面是我需要這樣一個例子:

@ECHO OFF 
for /f "tokens=2*" %%a in ('net user "%USERNAME%" /domain ^| find /i "Full Name"') do set DisplayName=%%b 
IF EXIST ~%~n0%~x0.loc SET /p dname=<~%~n0%~x0.loc 
IF EXIST ~%~n0%~x0.loc (
ECHO ***************************************************** 
ECHO Script is already running by User : %dname% 
ECHO ***************************************************** 
TIMEOUT 5 
) else (
ECHO %DisplayName% > ~%~n0%~x0.loc 
echo cd /abcdata/contrl>> download.txt 
echo prompt>> download.txt 
echo mget *abc*20170202*.txt>> download.txt 
echo bye>> download.txt 
ftp -s:download.txt xx.xx.xx.xx 
REM "Replace xx.xx.xx.xx with a IP address" 
del /Q download.txt 
echo File downloded successful.. 
TIMEOUT 5 
DEL ~%~n0%~x0.loc 
) 

在行echo mget *abc*20170202*.txt>> download.txt 並不認爲*的狂野性格和相當正常文本。 它應該匹配10個文件,但它不會。

下面是我收到運行此

Connected to xx.xx.xx.xx. 
220 (vsFTPd x.x.x) 
User (xx.xx.xx.xx:(none)): 
331 Please specify the password. 

230 Login successful. 
ftp> cd /abcdata/contrl 
250 Directory successfully changed. 
ftp> prompt 
Interactive mode Off . 
ftp> mget *abc*20170202*.txt 
200 Switching to ASCII mode. 
ftp> bye 
221 Goodbye. 
File downloded successful.. 
Press any key to continue . . . 

請指導如何可以做到這一點的日誌。

+0

你有什麼期望出現內部download.txt?如果它是匹配* abc * .txt的所有文件的內容,請使用「type」而不是「echo」?如果它是一個文件名列表,你需要別的東西。 – lessthanideal

+0

它不是完整的腳本,我已經刪除了實際的腳本的一些部分,只集中在我看到問題的一部分。 ,實際的行是「echo mget * abc * 20170202 * .txt >> download.txt」。我只是想找到一種方法來匹配文件列表中的所述模式* abc * 20170202 * .txt –

+2

什麼是'* abc * 20170202 * .txt'或'abc * 20170202.txt'應該是匹配的?如果文件'abc.txt'不存在,你究竟想要做什麼?請提供完整正確的答案,並請在您的問題中編輯您正在嘗試的實際命令中的代碼,_不要將它們替換爲您認爲可能做類似的事情。 – Compo

回答

1

echo不按照您認爲的方式工作。

試試這個:

dir /s/b *abc*20170202*.txt>> download.txt 
+0

這似乎不工作,如果其他塊 –

+0

它適用於我。我不知道你有什麼樣的問題。它是否在'if ... else ...'之外爲你工作? –

+0

請檢查更新的問題並提出建議。 –