Ⅰ 批處理復制文件至指定文件夾,並自動重命名。
1、建立一個新文件夾,將所有學生作業文件夾對象復制一份放入其中。
Ⅱ 在文件夾選項—查看—隱藏文件和文件夾里出現禽獸尚且有半點憐憫之心。是病毒,無法查看隱藏的文件。
把下面的代碼復制下來,另存為bat文件也就是批處理文件了,然後雙擊運行就可以了。如果還有什麼問題的話,請在我的網路空間里留言。。
@echo off
title 憶林子
color 0a
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
echo 該病毒資料
echo 瑞星將該病毒定義為:Worm.Win32.DownLoad.b
echo.
echo 該病毒建立的包括的源文件如下:
echo.
echo 病毒文件全路徑 大小(位元組)
echo c:\autorun.inf 159
echo c:\niu.exe 30,625
echo c:\WINDOWS\system32\Autorun.inf 159
echo c:\WINDOWS\system32\crsss.exe 30,625
echo 其它所有分區:\autorun.inf 159
echo 其它所有分區:\niu.exe 30,625
echo.
echo autorun.inf文件里的內容
echo.
echo [AutoRun]
echo.
echo open=niu.exe
echo shell\open=打開(^&O)
echo shell\open\Command=niu.exe
echo shell\open\Default=1
echo shell\explore=資源管理器(^&X)
echo shell\explore\Command=niu.EXE
echo.
echo 該病毒的後果:
echo 你的殺毒軟體會無法打開,另外你的系統時間會被修改成2000年,無法顯示隱藏文件
echo 另外,該病毒會把注冊表項刪除,導致你進入安全模式就藍屏。
echo 可能還有其它的情況,我這里就不詳細說明了.
echo.
ECHO 注意:該病毒會將你的系統時間修改為2000年,而這個殺毒程序的會將你的時間
echo 修改為2007年,你如果是在2007年使用這個的話,系統時間就不用修改了,否則
echo 殺毒後請自己重新設置系統時間。
echo.
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
set /p tmp=以上是該病毒的信息,如果要清除該病毒,請回車鍵開始殺毒...
rem 結束病毒進程
for %%d in (niu.exe,crsss.exe,reg.exe) do (
taskkill /im %%d /f
cls
)
rem 把時間改成2007年
FOR /F "eol=; tokens=1,2,3 delims=- " %%i in ('date /t') do (
date 2007-%%j-%%k
)
rem 去除病毒源文件的 系統、隱藏、只讀 屬性,然後刪除它們。
for %%d in (Autorun.inf,crsss.exe) do if exist "%systemroot%\system32\%%d" (
attrib -s -h -r "%systemroot%\system32\%%d"
del "%systemroot%\system32\%%d" /q
)
rem 添加進入安全模式的注冊表項
reg add "HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
reg add "HKLM\SYSTEM\ControlSet001\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
reg add "HKLM\SYSTEM\ControlSet003\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
reg add "HKLM\SYSTEM\ControlSet003\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\{4D36E967-E325-11CE-BFC1-08002BE10318}" /ve /d DiskDrive /f
cls
rem 解除對任務管理器的禁用
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableTaskMgr /f
rem 解除禁用Windows更新程序
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /f
rem 添加顯示隱藏文件的注冊表項
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN" /v Text /d "@shell32.dll,-30501" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v CheckedValue /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v DefaultValue /t reg_dword /d 2 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v HelpID /d "shell.hlp#51105" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v HKeyRoot /t reg_dword /d 2147483649 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v RegPath /d "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v Text /d "@shell32.dll,-30500" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v Type /d "radio" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v ValueName /d "Hidden" /f
rem 刪除病毒添加的啟動項
for %%f in (crsss) do (
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v %%f /f
)
rem 刪除其它盤根目錄下的病毒文件
for %%f in (autorun.inf,niu.exe) do (
for /D %%d in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
if exist %%d:\%%f (
attrib -s -h -r %%d:\%%f
del %%d:\%%f /q
)
)
)
rem 刪除病毒在注冊表中添加的關聯
if exist test.憶林子 del test.憶林子
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options">test.憶林子
for /f "tokens=* delims= skip=4" %%j in (test.憶林子) do (
reg delete "%%j" /v debugger /f
cls
if exist test.憶林子 del test.憶林子
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
echo 正在清除由病毒添加的注冊表項,請稍候...
echo.
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
)
if exist test.憶林子 del test.憶林子
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Your Image File Name Here without a path" /v Debugger /d "ntsd -d" /f
cls
color a0
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
echo 病毒清除完畢,按回車鍵開始解決分區無法雙擊打開的問題.
echo.
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
set /p test=
cls
@echo off
title 憶林子--解決分區無法打開
color a0
rem 刪除引起磁碟無法雙擊打開的autorun.inf文件
for /d %%i in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do if exist %%i:\autorun.inf (
cacls %%i:\autorun.inf /c /e /p everyone:f
attrib -s -h -r %%i:\autorun.inf
del %%i:\autorun.inf /q
)
rem 進行磁碟檢查,恢復雙擊打開功能
for /d %%i in (d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do if exist %%i: chkdsk %%i: /f /x
cls
color ec
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
echo 操作結束,按回車鍵退出該程序...
echo.
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
set /p temp=
:exit
exit
Ⅲ 怎麼用bat命令得到一個文件或者文件夾的屬性,就是判斷一個文件或者文件夾是否帶了如隱藏或者系統屬性
attrib >> d:\1.txt 就會在D盤生成一個1.txt文件裡面就是當前命令行目錄下所有文件屬性。 R只讀,H隱藏,S系統 大部分用到這三個。 A存檔。
dir >>d:\1.txt 這個命令會在D盤下生成一個1.txt文件裡面是當前命令行目錄下所有非隱藏文件屬性。 其中<DIR> 表示文件夾,另外屬性和attrib一樣。
dir /a:h >>d:\1.txt 這個這個命令會在D盤下生成一個1.txt文件裡面是當前命令行目錄下所有隱藏文件包括系統文件(S)屬性。 其中<DIR> 表示文件夾,另外屬性和attrib一樣。 (H可換成R:只讀 S:系統 D:目錄 A:存檔 )
Ⅳ bat怎麼取所在文件夾名字為變數
找到這個可以參考下。
@echo off
color 0e
echo ◎■◎■◎■◎■◎■◎
echo ■批量文件壓縮處理 ■
echo ◎■◎■◎■◎■◎■◎
if EXIST WinRAR的路徑臨時存儲.txt del WinRAR的路徑臨時存儲.txt
echo.
echo ■■■■■■■■■■■■■■■■■■■■■
echo ■使用說明: ■
echo ■將此批處理放入所需壓縮的文件夾的父目錄■
echo ■■■■■■■■■■■■■■■■■■■■■
echo.
echo ◎◎◎◎◎◎◎◎◎◎◎◎
echo ◎輸入Y(yes) 開始程序 ◎
echo ◎輸入E(exit)退出程序 ◎
echo ◎◎◎◎◎◎◎◎◎◎◎◎
set choose =
set /p choose=請選擇:
if '%choose%'=='y' goto 開始程序
if '%choose%'=='e' (goto :exit) else goto 開始程序
:開始程序
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v path>>WinRAR的路徑臨時
存儲.txt
:: 查詢注冊表中的winrar程序安裝路徑,並將找到的路徑發送到'WinRAR的路徑臨時存儲.txt'文件中去
for /f "tokens=1,2,* skip=4 delims= " %%x in ('more WinRAR的路徑臨時存儲.txt') do set WinRAR的路徑=%%z
:: *********************************************************
:: 【1】使用語句:FOR /F ["options"] %variable IN (file-set|"string"|'command') DO command [command-
parameters]
:: 【2】/F:查找字元串或則文件中的特定字元參數。使用後默認方式為查找每個文件(字元串)中的每一行中分開的
第一個空白符號。跳過空白行。
:: 【3】["options"]:您可通過指定可選 "options" 參數替代默認解析操作。這個帶引號的字元串包括一個或多個指定
不同解析選項的關鍵字。這些關鍵字為:
:: eol=c - 指一個行注釋字元的結尾(就一個)
:: skip=n - 指在文件開始時忽略的行數。
:: delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的默認分隔符集。
:: tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代的 for 本身。這會導致額外變數名稱的分配m-n格式為
一個范圍。通過 nth 符號指定 mth。如果符號字元串中的最後一個字元星號,那麼額外的變數將在最後一個符號解析之
後分配並接受行的保留文本。
:: usebackq - 指定新語法已在下類情況中使用:在作為命令執行一個後引號的字元串並且一個單引號字元為文
字字元串命令並允許在filenameset中使用雙引號擴起文件名稱。
:: 【4】%variable:指定的參數,在批處理文件中使用 FOR 命令時,指定變數請使用 %%variable 而不要用 %
variable。變數名稱是區分大小寫的,所以 %i 不同於 %I。
:: 【5】file-set|"string"|'command':指定的文件或字元串和目錄。
:: 【6】DO command [command-parameters]:1)command為指定對每個文件執行的命令。2)command-parameters為特
定命令指定參數或命令行開關。
:: 【7】整個語句的解析:在文件「in ('more WinRAR的路徑臨時存儲.txt')」中查找特定的字元串,1)先跳過前四行
(skip=4);2)以空格為分隔符(delims= );3)將找到的第一個字元傳遞給參數x("tokens=1,2,* skip=4 delims=
" %%z);4)找到一個字元後就開始運行do後面的命令。5)將參數l獲得的值賦予常量'WinRAR的路徑'中(do set
WinRAR的路徑=%%z),參數將按照查找的順序自動將找到的字元串賦予參數z之中,本例中按照順序「x\y\z」,故z獲得
tokens中的符號「*」中的字元串。
:: *********************************************************
if EXIST WinRAR的路徑臨時存儲.txt del WinRAR的路徑臨時存儲.txt
for /f "delims=" %%i in ('dir /ad /b') do call :開始壓縮 %%i
:: *********************************************************
:: 【1】dir /ad /b:1)/a為顯示所有文件。2)/ad則為跟寬式相同,但文件是按欄分類列出的。3)/b使用空格式(沒
有標題信息或摘要)。
:: 【2】call :開始壓縮 %%i:調用:'開始壓縮',並將獲得的字元串賦予參數i中。
:: *********************************************************
echo.
echo ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
echo ◎壓縮完成 ◎
echo ◎輸入R(Repetition) 重新運行 ◎
echo ◎輸入E(exit)退出程序 ◎
echo ◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
echo.
set choose =
set /p choose=請選擇:
if '%choose%'=='r' goto 開始程序
if '%choose%'=='e' (goto :exit)
:exit
exit
:開始壓縮
set 網站文件夾=%*
"%WinRAR的路徑%\rar" a -r -msrar;zip;jpg;jpeg;gif;rm;rmvb;mp3;wave;wam;wmv;mpeg -ag %網站文件夾%.rar %網
站文件夾%
:: *********************************************************
:: [1]-r:連同子文件夾
:: [2]-ag:以當前日期與時間生成壓縮文件名
:: [3]-ms:指定不壓縮而直接存儲的文件類型。當正確使用時,它將有助於增加壓縮速度,而不會顯著的減小壓縮率。
:: *********************************************************
EndLocal
:: *********************************************************
:: [1]EndLocal:結束批處理文件中環境更改的本地化,將環境變數還原為匹配 setlocal 命令前的值。
:: *********************************************************
Ⅳ dos 如何從子文件夾返回父文件夾
如果你當前所在的位置是D:\TEST\test> 要反回D盤根目錄的話輸入"CD\"就行.
如果要返到C盤根目錄的話要先鍵入"C:"先換盤符
如果你當前所在的位置是D:\TEST\test>要直接返到C:\TEST目錄的話輸入:" CD /D C:\TEST"
/D 命令行開關,除了改變驅動器的當前目錄之外,
還可改變當前驅動器。
CD\ "返回當前盤的根目錄"
CD.. "返回上一級目錄"
例:
D:\TEST\test> cd\
D:\> cd TEST\test
D:\TEST\test> cd..
D:\TEST> cd /D C:\TEST
C:\TEST> D:
D:\TEST>
Ⅵ 如何用批處理實現;根據文件或文件夾的'最後修改時間(或生成時間)'刪除指定路徑內30天以前的文件或文件夾
@echo off
setlocal enabledelayedexpansion
Rem 取30天之前的日期,取回放入變數riqi
echo wscript.echo dateadd("d",-30,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%
rem 設置要處理的文件夾路徑
set "mulu=c:\test"
rem 設置要處理的文件類型,也就是後綴
set "lx=txt"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /a-d /tw "%mulu%\*.%lx%"^|find /v ^"位元組^"') do (
set delrq=%%a
set delrq=!delrq:-=!
if !delrq! lss %riqi% (
del /q "%mulu%\%%~nxb"
)
)
echo 處理完成,按任意鍵退出程序
pause>nul&exit
===================
回樓主,可以的,幫你修改了下..
@echo off
setlocal enabledelayedexpansion
Rem 取30天之前的日期,取回放入變數riqi
echo wscript.echo dateadd("d",-30,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%
rem 設置要處理的文件夾路徑
set "mulu=c:\test"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /ad /tw "%mulu%"^|find /v ^"位元組^"') do (
set delrq=%%a
set delrq=!delrq:-=!
if !delrq! lss %riqi% (
rd /s/q "%mulu%\%%b"
)
)
echo 處理完成,按任意鍵退出程序
pause>nul&exit
Ⅶ 關於cmd move 子文件夾的命令
@echooff
dirA/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveA\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
dirB/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveB\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
dirC/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveC\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
dirD/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveD\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
dirE/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveE\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
dirF/b>>temp.tmp
for/f"delims=tokens=*eol="%%bin(temp.tmp)do(
moveF\%%b*.*E: 00
)
del/f/qtemp.tmp>nul
必須放在這6個文件夾旁運行。
Ⅷ bat創建以當前日期命名的文件夾
1、在當前文件夾內,右擊新建》文本文檔。
Ⅸ vbs輸入文件名前幾個字元搜索文件並復制到特定的文件夾,如何實現
正好寫過bat的,不過vbs的還沒有寫,現在寫一下,樓主可以看一下,就一行命令, 結合了vbs和bat兩者的, 代碼見最後for /f "eol= tokens=1,* delims=" %i in ('where /r 被搜索的文件夾 文件名前幾個字元*.*') %i 特定的文件夾\/r 的意思是在文件夾遞歸地查找 (可能有點慢)去掉/r就只找文件夾下一層的for /f "eol= tokens=1,* delims=" %i in ('where 被搜索的文件夾 文件名前幾個字元*.*') %i 特定的文件夾\被搜索的文件夾例如 c:\users\desktop\信工信息文件名前幾個字元*.* 例如 19信工*.*特定的文件夾\例如 d:\信工信息\如果不想把 c:\users\desktop\john\信工信息\其他 等子文件夾的內容拷出來for /f "eol= tokens=1,* delims=" %i in ('where c:\users\john\desktop\信工信息 19信工*.*') do %i d:\信工信息\反之就用for /f "eol= tokens=1,* delims=" %i in ('where /r c:\users\john\desktop\信工信息 19信工*.*') do %i d:\信工信息\寫到vbs里是這樣, 如果不想把 c:\users\desktop\john\信工信息\其他 等子文件夾的內容拷出來Set ws = CreateObject("Wscript.Shell")a="c:\users\john\desktop\信工信息" '來源文件夾 b="d:\信工信息"message = "輸入文件名前幾個字元" & chr(10) &"來源文件夾 "&a &chr(10) &b defaultValue=""title = "輸入文件名前幾個字元搜索文件並復制到特定的文件夾"&""myValue = InputBox(message, title, defaultValue)achoice=MsgBox ("是否遞歸查找(查找子文件夾)" ,vbyesno)d=""if achoice=vbyes thend="/r"end ifws.run "cmd /c for /f ""eol= tokens=1,* delims="" %i in ('where "&a&" 19信工*.*') do %i "&b&"\ ",0,true記得保存文件時選擇ansi編碼或者gbk而不是utf-8,雙擊可用