求批處理或VBS檔案 20

2025-01-20 14:15:08 字數 3181 閱讀 6241

求批處理或vbs檔案

1樓:網友

單純用批處理或者vbs很難做到,因為涉及到進位問題,在同一年內還好判斷,但跨年的話就不行了,而且年月日計算也非標準的365進位,還有閏年,日期要變更,批處理和vbs一般是滿足不了這樣的計算的。

所以可以換個思路,用c語言之類的計算機語言寫會比較好些一點,或者,用批處理或vbs寫也行,但要換個思路,由你輸入當前日期前180天的日期,然後讓批處理刪除檔名小於該日期的所有檔案。

2樓:

echo off

setlocal enabledelayedexpansion

set n=1

for /f "tokens=1-3 delims=- i in ('echo %date%')do (

set num1=%%i

set num2=%%j

set num3=%%k

restart

if not "%n%"=180" (

if %num3% gtr 1 (set /a num3-=1 & set /a n+=1 & goto :restart)

set num3=31

if %num2% gtr 1 (set /a num2-=1 & set /a n+=1 & goto :restart)

set num2=12

set /a num1-=1

set /a n+=1

goto :restart

for /f "skip=7 tokens=4 delims= "i in ('dir d:\iamge') do (

if not "%i"==位元組" if not "%i"==可用位元組" (

set gg=%%i

set temp=!gg:~0,4!

if !temp! lss %num1% (

else (

if !temp! equ %num1% (

set temp=!gg:~4,1!

if !temp! equ 0 (

set temp=!gg:~ 5,1!

if !temp! lss %num2% (

else (

if !temp! equ %num2% (

set temp=!gg:~6,2!

if !temp! lss %num3% (

else (

set temp=!gg:~4,2!

if !temp! lss %num2% (

else if !temp! equ %num2% (

set temp=!gg:~6,2!

if !temp! lss %num3% (

儲存為bat檔案執行。

vb和批處理

3樓:小陳

批處理產生於dos年代,哪時的電腦是..執行的程式是在 dos 的提示符下打入命令,命令是一行英文字元,有內部命令和外部命令兩種,內部命令是系統啟動後就已經駐留記憶體可以執行的命令,外部命令就是我們現在所說的可執行檔案(*.com 和 *.

exe),命令輸入錯了,電腦就不會幫你幹活,後來微軟搞了乙個 windows31 ,把命令改為圖示,只要雙擊圖示電腦就工作了,現在我們用的windows就是windows31的高版本,所以現在的人沒有用命令操作電腦的體會。而批處理就是用乙個檔案把很多個dos命令組合在一齊實現一定的功能。是一種應用層的簡單程式設計,程式設計能力有限,還會常因找不到外部命令而不能正常工作。

vb是windows下的一種basic語言,是能生成可執行檔案的程式語言,是真正的語言,如果你對windows api 熟悉,vb幾乎能實現你所要的全部功能。更加把vb提公升到與c#為同一層次的地位。

vb和批處理為什麼能同時寫在一起呢?批處理能加入vb寫的可執行檔案,vb可以用 shell 或 api 來呼叫批處理檔案。

4樓:網友

vb和批處理根本就是兩回事。

vb寫出來的的是win32可執行程式。

vb能實現批處理能實現的功能。但批處理不可能實現vb的功能總之他們倆不是乙個概念的東西。

5樓:匿名使用者

批處理只是一次過把多條dos命令寫在乙個批處理檔案裡面 批處理執行罷了。

vb是生成exe的可執行檔案 根本不同原理的。

6樓:網友

雖然不是高手,但自認原理上知道一點。

vb 是一種視覺化的程式語言,源於早期dos甚至更早的作業系統裡的basic程式語言,作業系統發展為視窗式的於是在前面加個v 視覺化,適於新的環境程式設計,尤其適合用於編制windows系列上應用的軟體,程式設計時寫**有專門的軟體,甚至還可用滑鼠操作代替其中相當一部分**的編寫。最終是要「轉」成exe檔案或許還有附件來執行的。

估計樓主問「vb和批處理為什麼能同時寫在一起呢?」裡的vb是說的是vbs,它除了**幾乎就是vb,而且是把vb裡提供的很多現存的與作業系統介面很緊密的,叫函式也好,叫過程也好,叫物件也好給提供出來,方便使用者用純文字編寫,不用編譯(即不必轉成exe)只要字尾改為vbs,用乙個直譯器程式來解釋並執行的,或稱為「指令碼」,相對於vb而言,主要是方便簡單地改動,基本上它還是屬於「程式設計」。

一般現在說的批處理指的是把命令列命令放到乙個文字檔案裡,字尾名是。bat(現在也可用。cmd),它主要是把一批命令放到一起去執行,程式設計能力非常有限,但卻很方便,因為所有命令甚至是自己開發的乙個程式也可算作是命令,都可集於它裡面去按一定的條件和順序呼叫,因而也適合於處理要用某些命令組合的多次執行的批量任務,那麼它和vbs有點類似——純文字、不需要專門編譯。

至於說兩者可以放一起完全是個誤會,vb呢根本就和批處理是兩碼事,vbs和批處理都是純文字,卻不是同乙個東西解釋執行的,會產生誤會的原因是因為每一種都有文字的功能,自然也能用這一種去另一種的**去儲存為另一種的字尾名的文字並加以呼叫,而之後也可保留也可立即又把它給刪了就更象是**放一起用了。

7樓:帳號已登出

批處理其實就是一些dos命令通過一些最基本的程式框架連線起來的語句集。

批處理很簡單,但很實用,學起來很快。但可以通過批處理迅速掌握一些程式設計基礎,有利於進一步發展。

而vb是一種比較適合初學者的視覺化程式語言,但要邊乙個好的vb程式也不容易,需要不斷實踐積累。

你說的能寫在一起可能是在vb中插入dos命令,而在批處理中卻無法插入vb語句。(但可以用vbs,通過echo命令輸出到。vbs檔案後執行)

需要做批處理或者VBS,實現自動獲取本機IP,並以該IP對映網路驅動器

不太瞭解無盤的機器怎麼部署啟動指令碼,如果需要手動部署到每一臺機器的話,那就太麻煩了 而且一旦指令碼需要修改,就更麻煩。可以考慮只寫一個指令碼,在伺服器端遠端執行。伺服器端獲取dhcp出去的ip也很方便。解決方法 新建 bat的檔案 echo off net use z serverip c pas...

bat批處理,bat批處理解壓縮檔案

這個應該要加上延遲變數吧。echo off setlocal enabledelayedexpansionecho 開始更改檔名字尾 set extension rar set a sum 0 for m in do if not m rename.bat ren m m extension set...

檔案重新命名的批處理

echo off setlocal enabledelayedexpansionset p e 請輸入檔案字尾名 echo 將按順序更改以下檔案的名稱 dir b o n e set p n 請輸入新名稱 set p i 請輸入數字的位數 set num 100000 for f delims i ...