<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PowerShell 2.0 實踐(二)操作文件系統(續)

      上一次我們練習了基本的文件系統操作方法,包括創建、復制、移動(剪切)、重命名、刪除文件和目錄的方法,非常常用。本次我們繼續來探討文件系統,本次來關注一下這些命令:

      Get-ChildItem

      Add-Content

      Clear-Content

      Get-Content

      Set-Content

      Out-File

      Select-String

       

      測試腳本下載

      本系列所有腳本均在Windows Server 2008 R2 DataCenter (PowerShell 2.0) + PowerGUI Script Editor Free Edition x64 中測試通過。

       

      1. 獲取本機運行的進程、服務,寫入到一個文本文件,并讀取其中的內容:

         

        #在指定目錄下面創建一個文本文件:SP.txt

      New-Item -ItemType File -Path E:\PSTest\SP.txt -Force

       

      #將本機運行的所有進程信息寫入該文件

      Get-Process | Out-File -FilePath E:\PSTest\SP.txt -Force

       

      #將本機運行的所有服務信息追加進該文件

      Get-Service | Out-File -FilePath E:\PSTest\SP.txt -Append -Force

       

      #讀取文件的內容

      Get-Content -Path E:\PSTest\SP.txt

       

      #打開該文件

      Invoke-Item -Path E:\PSTest\SP.txt

      SP.txt的文件內容如下所示(取決于你電腦上的進程與服務):

       

      1. 獲取TEMP中的所有文本文件:

        #遞歸獲取%TEMP%中的所有文件

        $files = Get-ChildItem -Recurse $Env:TEMP | Where {!$_.PSIsContainer}

        foreach($file in $files)

        {

            #如果是文本文件,則輸出文件名與文件大小

            if($file.Extension.ToLower() -eq ".txt")

            {

                Write-Host $file.Name $file.Length

            }

        }

         

        $Env:是PowerShell的內置變量,表示系統環境變量,"$_"也是內置變量,作用類似于"this",表示當前管道對象的實例,PSIsContainer表示容器,在這里判斷是否為目錄。-Recurse遞歸獲取TEMP目錄及其所有子目錄中的所有文件。

       

      1. 獲取當前系統中所有的PowerShell驅動器,并寫入csv文件,最后調用Excel打開該文件:

        Get-PSDrive | Get-Member

         

        if(Test-Path -Path E:\PSTest)

        {

            Get-PSDrive | Export-Csv -Path E:\PSTest\SP.csv

            Import-Csv -Path E:\PSTest\SP.csv | select Name, Root, Free, Used | Format-Table -AutoSize

        Invoke-Item E:\PSTest\SP.csv

        }

      Get-Member可以獲取一個對象的所有成員,包括.NET屬性、方法等,如果對一個命令的類型及其包含成員不熟悉,可以用這個命令來查看。

      Test-Path會判斷所給路徑是否存在,存在返回 true,不存在返回 false。

      執行結果如下:

       

      這樣我們就知道了可以在select語句中查詢哪些,Import-Csv相當于"Get-Content"csv文件,即獲取csv文件的內容。

      Invoke-Item csv文件會調用csv的默認文件:Excel來打開:

       

      4、搜索PowerShell安裝目錄下的所有擴展名為".ps1xml"且內容包含"EventType"的文件:

      Select-String -Path $pshome\*.ps1xml -Pattern "EventType" –SimpleMatch

      還可以使用正則表達式:

      Select-String -Path "H:\Virtual Machines\ESX Server 4.1\*.log" -Pattern "\w+P\w?" –CaseSensitive

      使用-CaseSensitive表示區分大小寫,注意若路徑中包含空格,則用雙引號或單引號括起來。盡量搜索基于文本類型的文件(.txt、.xml、.sql等),若搜索dll、圖片等則會得到亂碼。

       

      若只是搜索文件,可以用Get-ChildItem。

      遞歸搜索JAVA_HOME環境變量目錄下的所有jar包:

      Get-ChildItem -Path $Env:JAVA_HOME -Filter "*.jar" –Recurse

       

      還可以搜索網絡上的共享驅動器。

      我將虛擬機中的一個磁盤設為了共享:

       

      Get-ChildItem \\192.168.200.132\c\FileTest -Filter "*.txt" -Recurse

      這點還是很方便的,尤其在局域網環境下,可以隨意搜索FTP等共享文件夾。

       

      小結:

      本次我們使用了一些高級命令來操作文件系統,這些命令之間相互組合可以完成常見的任務。至此我們對文件系統就有了一個大體的認識,可以看到,使用PowerShell可以很方便快捷的操作文件系統,借助于.NET的類庫,可以寫出邏輯更為復雜的命令,來完成一些特殊需求。為了照顧熟悉DOS、Linux、Unix的用戶,PowerShell也提供了一些命令的別名,如cd、mkdir、ls等,可以使其他管理員快速入門。后續篇章將繼續關注PowerShell在其他領域的用法,如注冊表操作、驅動器操作、AD等。

      posted @ 2010-08-05 21:05  江蘇瑞步科技  閱讀(2755)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品香蕉一区二区| 精品国产免费一区二区三区香蕉| 一区二区三区四区亚洲自拍| 成人午夜福利视频一区二区| 一区二区三区无码免费看| 在线看国产精品自拍内射| av中文字幕一区二区| 敖汉旗| 国产精品99久久免费| 久久影院九九被窝爽爽| 国产在线中文字幕精品| 久热这里只精品视频99| 少妇激情av一区二区三区| 国产精品任我爽爆在线播放6080| 国产精品色呦呦在线观看| 精品人妻一区二区三区蜜臀| 国产蜜臀视频一区二区三区| 亚洲一区久久蜜臀av| 亚洲欧美国产日韩天堂区| 午夜福利免费视频一区二区| 露脸叫床粗话东北少妇 | 日韩av一区二区不卡在线| 天堂mv在线mv免费mv香蕉| 最近中文字幕国产精品| 国产日韩精品一区在线不卡| 色一情一乱一区二区三区码| 97成人碰碰久久人人超级碰oo | 亚洲综合伊人久久大杳蕉| 亚洲 校园 欧美 国产 另类| 护士张开腿被奷日出白浆| 麻豆一区二区三区精品蜜桃| 女人裸体性做爰视频| 精品人妻av综合一区二区| 亚洲二区中文字幕在线| 综合久久av一区二区三区| 国产成人精品亚洲高清在线| 久热综合在线亚洲精品| 日日躁夜夜躁狠狠躁超碰97 | 久久国产精品老女人| 丝袜高潮流白浆潮喷在线播放| 久久久精品人妻一区二区三区蜜桃|