我已搜查這個跨網,發現很多代碼從文本檢索整行或與另一個替換文本,但沒有什麼我一直在尋找讀「N」字。批處理文件從一個文本文件
使用對於令牌環將返回與空格隔開的一組(字)。
我想從線拉只有幾個字符。
如:12345qwerty67890
如果在一個文本文件,我想只拉「12345」,並將其分配給一個變量。
任何幫助是極大的讚賞。
我已搜查這個跨網,發現很多代碼從文本檢索整行或與另一個替換文本,但沒有什麼我一直在尋找讀「N」字。批處理文件從一個文本文件
使用對於令牌環將返回與空格隔開的一組(字)。
我想從線拉只有幾個字符。
如:12345qwerty67890
如果在一個文本文件,我想只拉「12345」,並將其分配給一個變量。
任何幫助是極大的讚賞。
設置HELP SET
和嘗試以下操作,讓你開始
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (sample.txt) do (
set line=%%a
set chars=!line:~0,5!
echo !chars! --- !line!
)
嗨PA,我試過這個,但%字符%不返回任何東西。 %line%返回整個字符串,我猜chars =!line:〜0,5!線路有問題? –
它只是給我'Echo is'' –
C:\> setlocal enabledelayedexpansion C:\> for/F「tokens = 1」%a in(1.txt)do(set line =%a set chars =〜 0,3) C:\>(set line = 12345BLRPN0W01085 set chars =〜0.3) C:\> ECHO ECHO開啓。 C:\>暫停 按任意鍵繼續。 。 。 –
在命令提示符下,執行help set
。在那裏你可以找到有關set
命令的更多信息,而不是你想知道的。你有興趣的部分說:
May also specify substrings for an expansion.
%PATH:~10,5%
would expand the PATH environment variable, and then use only the 5
characters that begin at the 11th (offset 10) character of the expanded
result. If the length is not specified, then it defaults to the
remainder of the variable value. If either number (offset or length) is
negative, then the number used is the length of the environment variable
value added to the offset or length specified.
當然,爲了使用這種東西與for
循環變量,您需先在該變量在Windows擴大了非常奇特的方式認識NT批處理文件。如果您遇到問題,請告知我,我可以添加更多信息。
謝謝邁克,生病試試這個,讓你知道 –
那麼,@PA。打敗了我44秒。 –
他提供了一個完整的例子,關注我提到的有關可變擴展的特性。所以,他值得信任。 –
對不起,我不明白什麼是你的分割標準在這裏 – adarshr
他要提取字符的某些預定數量。 –
我添加了「windows」標籤,因爲這可能意味着什麼。 –