myAdBanner

2013年12月25日 星期三

file download

<?php
function dl_file($file){

   //First, see if the file exists
   if (!is_file($file)) { die("404 File not found!"); }

   //Gather relevent info about file
   $len = filesize($file);
   $filename = basename($file);
   $file_extension = strtolower(substr(strrchr($filename,"."),1));

   //This will set the Content-Type to the appropriate setting for the file
  switch( $file_extension ) {
     case "pdf": $ctype="application/pdf"; break;
     case "exe": $ctype="application/octet-stream"; break;
     case "zip": $ctype="application/zip"; break;
     case "doc": $ctype="application/msword"; break;
     case "xls": $ctype="application/vnd.ms-excel"; break;
     case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
     case "gif": $ctype="image/gif"; break;
     case "png": $ctype="image/png"; break;
     case "jpeg":
     case "jpg": $ctype="image/jpg"; break;
     case "mp3": $ctype="audio/mpeg"; break;
     case "wav": $ctype="audio/x-wav"; break;
     case "mpeg":
     case "mpg":
     case "mpe": $ctype="video/mpeg"; break;
     case "mov": $ctype="video/quicktime"; break;
     case "avi": $ctype="video/x-msvideo"; break;

     //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
     case "php":
     case "htm":
     case "html":
     case "txt": die("Cannot be used for ". $file_extension ." files!"); break;

     default: $ctype="application/force-download";
   }

   //Begin writing headers
   header("Pragma: public");
   header("Expires: 0");
   header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
   header("Cache-Control: public"); 
   header("Content-Description: File Transfer");
   
   //Use the switch-generated Content-Type
   header("Content-Type: $ctype");

   //Force the download
   $header="Content-Disposition: attachment; filename=".$filename.";";
   header($header );
   header("Content-Transfer-Encoding: binary");
   header("Content-Length: ".$len);
   @readfile($file);
   exit;
}
?>

2013年11月20日 星期三

Removes CDDATA tags from a string

  <?

/***********************************************************************
strip_cdata_tags($string)                                               
-------------------------------------------------------------   
DESCRIPTION:               
  Removes CDDATA tags from a string                               
                                                                        
INPUT:                    
  $string                                                         
            Text containing CDDATA tags                                 
RETURNS:                
  Returns a string free of CDDATA tags                            
***********************************************************************/
function strip_cdata_tags($string)
    {
    # Strip XML CDATA characters from all array elements
    $string = str_replace("", "", $string);
    return $string;
    }  
?>

2013年11月7日 星期四

獲得當前網頁中的所有鏈結

當在一個文本框中輸入網址單擊按鈕後,把當前這個網頁的所有鏈結保存到文本框中顯示出來!
private void btnScrape_Click(object sender, EventArgs e)
{
    string strHttpSource;
 
    if (UrlIsValid())
    {
        // 取得一個包含網頁的程式源代碼的字串。請進一步查看 GetHttpStream()
        // 與 ConvertStreamToString() 這兩個自訂函式。
        try
        {
            strHttpSource = ConvertStreamToString(GetHttpStream(txtURL.Text));
        }
        catch (Exception exp)
        {
            // 將文字設定成 exp.Message 以便顯示於被調用的函數中所設定的自定義錯誤資訊。
            MessageBox.Show(exp.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            return;
        }
 
        string strRegExPattern;
 
        // 將用戶所輸入的網址(URL)賦給一個變數。
        strUrlEntered = txtURL.Text.Trim();
 
        // 取得功能變數名稱以便於不同的地方使用之。最好是在 Click 事件處理函數中
        // 設定此值,如此一來,顯示於 ListView 控制項當中的專案會固定與正確
        // 的網功能變數名稱稱相關聯。如果此值是在其他地方賦值,用戶將能夠更改域
        // 名並且接著在 ListView 當中雙擊某個專案,此舉將會導致該項目
        // 所提取者是一個無效的 URL。
        string[] astrDomain = Regex.Split(strUrlEntered, "/");
 
        // 陣列中的第一個元素[0] 是 "http:" ,第三個元素則是實際的功能變數名稱。
        strDomain = astrDomain[0] + "//" + astrDomain[2];
 
        if (optLinks.Checked)
        {
            ShowStatusIndicators("正在鏈結到網頁以便擷取出鏈結,請稍待。");
 
            lvwLinks.Items.Clear();
 
            // 此處所使用的規則運算式用來剖析一個 HTML anchor
            // (例如: Microsoft ),
            // 說明如下:
            //
            //   ]+    任何字元的一或多個比對,除了位於中刮號中者以外。
            //   )           定義一個子字串之群組的結尾處。
            //   ""?         零或多個引號(逸出)。
            //   >           于 HTML anchor 中緊接著完全相同的文字。
            //   (.+)        比對任何字元的一個群組:也就是 anchor 文字。
            //           與 HTML anchor 之結尾標記完全相同的文字。
            //
            // 請注意:如果您要在 RegEx 測試器中試驗這些規則
            // 運算式模式,請確定您沒有逸出雙引號。
            strRegExPattern = @"]+)""?>(.+)";
        }
        else
        {
            ShowStatusIndicators("正在鏈結到網頁以便擷取出圖像,請稍待。");
 
            htImages = new Hashtable();
            lvwImages.Items.Clear();
 
            // 此處用來取出圖片標記的規則運算式,在觀念上與用來取出 HTML anchor
            // 的規則運算式非常類似。然而,此處的規則運算式卻是複雜許多,
            // 原因是我們必須擷取出可能會依任何順序出現的四個不同屬性。
            //
            // 為了讓此處所使用的規則運算式在長度與複雜度上都保有其合理性,
            // 我們對所要處理之網頁上的 HTML  標記做了下列假設:
            //
            //   1. 用來指定圖片來源的 src 屬性一定會出現。它是唯一的必要屬性。
            //    
            //   2. src 屬性會出現在 width 與 height 屬性之前。如果並非如此的話,
            //      width 與 height 屬性將不會被擷取。
            //
            //   3. 用來指定圖片替代文字的 alt 屬性會出現在 width 與 height 屬性之後。
            //      如果並非如此的話,alt 屬性將不會被擷取。
            //
            //   4. width 與 height 屬性可能會在 src 屬性之後以任何順序出現,
            //      本規則運算式能夠處理此狀況。
            //
            // 上述假設可以確保網頁上的所有圖片標記都會被擷取。然而,它也意味著,
            // 其他某些屬性可能不會出現。
            //
            // 以下是使用於本規則運算式中的幾個重要模式專案:
            //
            //   [^>]+       與 > 以外的任何字元比對。此顯示出您可以移至下一個您所感興趣的屬性。
            //             
            //   (?:         從一個非擷取的群組開始。它會與一個結束 )? 合用, 以便建立
            //               出一個選擇性群組(零或一個比對)。此顯示出您可以讓 src
            //               以外的所有屬性成為可選擇性的。
            //
            //   |           與 width 和 height 使用來成為一個 Or 運算式。
            //               請注意在第一個配對中,width 在前而 height 在後,而在第二個
            //               配對中,則是 height 在前而 width 在後。
            strRegExPattern = @"]+(src)\s*=\s*""?([^ "">]+)""?(?:[^>]+(width|height)\s*=\s*""?([^ "">]+)""?\s+(height|width)\s*=\s*""?([^ "">]+)""?)?(?:[^>]+(alt)\s*=\s*""?([^"">]+)""?)?";
        }
 
        Regex re = new Regex(strRegExPattern, RegexOptions.IgnoreCase);
        Match m = re.Match(strHttpSource);
 
        // 處理 HTML 程式源代碼。因為源是一個長字串,
        // 因此我們不使用 Matches 方法,而改用較有效率的 Match(),Match()
        // 一次只會傳回一個比對。Success 屬性能夠判斷是否存在另外一個比對。
        // NextMatch() 則能夠反復此項作業。
        while (m.Success)
        {
            if (optImages.Checked)
            {
                string strWidth, strHeight;
 
                // 因為規則運算式模式賦予 width 與 height 屬性選擇性的順序,
                // 因此必須先確認哪一個屬性是擺在前面,然後指派合適的 Group 專案值。
                if (m.Groups[3].Value.ToLower() == "width")
                {
                    strWidth = m.Groups[4].Value;
                    strHeight = m.Groups[6].Value;
                }
                else // height 屬性先出現
                {
                    strWidth = m.Groups[6].Value;
                    strHeight = m.Groups[4].Value;
                }
 
                // 調用 AddImage 以便將自定義的 ImageAttributes 物件新增
                // 至 Hashtable 中。請參閱 AddImages 的注釋來瞭解為什麼
                // 要使用一個 Hashtable。
                AddImage(new ImageAttributes(m.Groups[2].Value,
                    m.Groups[8].Value, strHeight, strWidth));
            }
            else
            {
                // 建立一個 ListViewItem 物件並設定第一欄("src")的文字。
                ListViewItem lvi = new ListViewItem();
                lvi.Text = m.Groups[1].Value;
                lvwLinks.Items.Add(lvi);
            }
 
            // 繼續迴圈至下一個比對。
            m = m.NextMatch();
        }
 
        HideStatusIndicators();
 
        // 將所擷取的每一個影像資訊填入清單檢視控制項中。
        if (optImages.Checked)
        {
            if (htImages != null)
            {
                FillImagesListView();
            }
            else
            {
                MessageBox.Show("沒有任何圖像的屬性與正則運算式相符。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        else
        {
            if (lvwLinks.Items.Count == 0)
            {
                MessageBox.Show("沒有任何鏈結的 URL 與正則運算式相符。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }
}
 
// 此函式會檢查使用者所輸入的網址是否以 http:// 開頭。
private bool UrlIsValid()
{
    if (txtURL.Text.Substring(0, 7) != "http://")
    {
        MessageBox.Show("您所輸入的網址必須以 http:// 開頭。");
        return false;
    }
 
    return true;
}
 
 
 
// 此函式會讀取 HttpWebResponse 物件所傳回的 HTTP 響應資料流程並將它轉換成一個字串以便交給 RegEx 處理之。
private string ConvertStreamToString(Stream stmSource)
{
    if (stmSource != null)
    {
        try
        {
            using (StreamReader sr = new StreamReader(stmSource))
            {
                // 讀取資料流程並傳回其整個內容。
                return sr.ReadToEnd();
            }
        }
        catch (Exception)
        {
            // 不要顯示一個訊息方塊。只需轉寄來自 GetHttpStream() 的自訂錯誤訊息。
            throw new Exception();
        }
        finally
        {
            // 清除 Stream 與 StreamReader。
            wresScrape.Close();
        }
    }
    else
    {
        return "";
    }
}
 
 
 
 
// 此函式使用衍生自 System.Net.WebRequest 的 .NET 類別來取得一個 HTTP 響應資料流程,
// 此 HTTP 回應資料流會成為 RegEx 的剖析來源或是所要顯示的影像(當
// 被 ImageViewer.Show() 呼叫時)。
public Stream GetHttpStream(string url)
{
    // 使用 WebRequestFactory 建立要求。
    wreqScrape = (HttpWebRequest)(WebRequest.Create(url));
 
    wreqScrape.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.1)";
    wreqScrape.Method = "GET";
    wreqScrape.Timeout = 10000;
 
    try
    {
        // 傳迴響應資料流程。
        wresScrape = (HttpWebResponse)(wreqScrape.GetResponse());
        return wresScrape.GetResponseStream();
    }
    catch (Exception)
    {
        // 最可能導致發生錯誤的原因是輸入了錯誤的 URL 或是並未連結至 Internet。
        // 建立一個自訂的錯誤訊息來轉回給呼叫者函式。
        throw new Exception("在提取您所要求的網頁時發生錯誤。" +
            "請檢查您所輸入的 URL 以及 Internet 聯機,並再次嘗試。");
    }
}

Access 自動更新最後修改日期

Access 自動更新最後修改日期
1.資料庫新增一個 最後修改 欄位 日期/時間 格式 預設值 Now()
2. 巨集 新增 上次修改
內容 巨集指令:SetValue 項目:修改日期。運算式:Date() 。
3.表單 -> 事件 ->Before Update 輸入 上次修改
程式碼 加入
Private Sub Form_BeforeUpdate(Cancel As Integer)
On Error GoTo BeforeUpdate_Err

‘ Set bound controls to system date and time.
DateModified = Date

BeforeUpdate_End:
Exit Sub
BeforeUpdate_Err:
MsgBox Err.Description, vbCritical & vbOKOnly, _
“Error Number " & Err.Number & " Occurred"
Resume BeforeUpdate_End
End Sub

字串與日期轉換

字串與日期轉換
短日期格式

VB
FormatDateTime(TextBox1.Text, DateFormat.ShortDate)
C#
DateTime strDate = DateTime.Parse(TextBox1.Text)
String.Format(“{0:yyyy/MM/dd}", strDate)

驗證日期




先下載 iTextSharp 目前最新版為itextsharp-all-5.4.0.zip 解壓縮後把 itextsharp.dll 放到bin中 程式中先引用這兩行 using iTextSharp.text; using iTextSharp.text.pdf; 再call這一段函數 TifFN 代表圖片路徑 PdfFN 代表PDF路徑
public void tif2pdf(string TifFN, string PdfFN)
{
    iTextSharp.text.Image image;
    //設定4個邊界
    int Mleft = 0;
    int Mright = 0;
    int Mtop = 0;
    int Mbottom = 0;
 
    Document document = new Document(iTextSharp.text.PageSize.A4, Mleft, Mright, Mtop, Mbottom);
    PdfWriter.GetInstance(document, new FileStream(PdfFN, FileMode.Create));
    document.Open();
 
    image = iTextSharp.text.Image.GetInstance(TifFN);
    //調整圖片大小,使之適合A4
    if (image.Height > iTextSharp.text.PageSize.A4.Height - Mtop)
        image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - Mleft, iTextSharp.text.PageSize.A4.Height - Mtop);
    else if (image.Width > iTextSharp.text.PageSize.A4.Width - Mleft)
        image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - Mleft, iTextSharp.text.PageSize.A4.Height - Mtop);
    //調整圖片位置,使之居中
    image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
    document.NewPage();
    document.Add(image);
    document.Close();
}

判斷日期函數

判斷日期函數
public static bool IsDate(Object obj)
{
    string strDate = obj.ToString();
    try
    {
        DateTime dt = DateTime.Parse(strDate);
        if (dt != DateTime.MinValue && dt != DateTime.MaxValue)
            return true;
        return false;
    }
    catch
    {
        return false;
    }
}

CSS自動分頁列印

CSS自動分頁列印
自動分頁列印!


<SCRIPT LANGUAGE='JavaScript'>

</SCRIPT>

這是列印的第一頁!

這是列印的第二頁!
第二段寫法:
第一頁
第二頁
第三段寫法:
第一頁

第二頁

2013年10月28日 星期一

數字前面補0 使用sprintf

* %% - 返回百分比符號
* %b - 二進位數字
* %c - 依照 ASCII 值的字元
* %d - 帶符號十進位數字
* %e - 可續計數法(比如 1.5e+3)
* %u - 無符號十進位數字
* %f - 浮點數(local settings aware)
* %F - 浮點數(not local settings aware)
* %o - 八進位數
* %s - 字串
* %x - 十六進位數(小寫字母)
* %X - 十六進位數(大寫字母)

< ?php
$number = 123;
$txt = sprintf("With 2 decimals: %1\$.2f
With no decimals: %1\$u",$number);
echo $txt."<br>";
echo sprintf("%05d", 1); 
?>
輸出: With 2 decimals: 123.00 With no decimals: 123 00001

2013年10月21日 星期一

用jquery來控制div的顯示與隱藏





   
   
   
   

2013年10月15日 星期二

iis7 改 port

選取站台 右鍵 編輯連繫 http 80 改 8080

2013年10月8日 星期二

解決 PHP 連 MySQL 亂碼的問題

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_wcjx_conn = "localhost";
$database_wcjx_conn = "dbName";
$username_wcjx_conn = "root";
$password_wcjx_conn = "12345678";
$wcjx_conn = mysql_pconnect($hostname_wcjx_conn, $username_wcjx_conn, $password_wcjx_conn) or trigger_error(mysql_error(),E_USER_ERROR); 
// 加上這一段就OK了
mysql_query("SET CHARACTER SET utf8",$wcjx_conn);
mysql_query("SET CHARACTER_SET_database= utf8",$wcjx_conn);
mysql_query("SET CHARACTER_SET_CLIENT= utf8",$wcjx_conn);
mysql_query("SET CHARACTER_SET_RESULTS= utf8",$wcjx_conn);
?>

2013年10月7日 星期一

itext 文字浮水印

        string sFileIn = "D:\\pdftmp\\102\\09\\10209240001.pdf";
        PdfReader reader = new PdfReader(sFileIn);
        MemoryStream ms = new MemoryStream();

        PdfStamper stamper = new PdfStamper(reader, ms);

        for (int i = 1; i <= reader.NumberOfPages; i++)
        {
            iTextSharp.text.Rectangle pageSize = reader.GetPageSizeWithRotation(i);
            PdfContentByte pdfPageContents = stamper.GetUnderContent(i);
            pdfPageContents.BeginText();
            BaseFont bfChinese = BaseFont.CreateFont(@"C:\WINDOWS\Fonts\kaiu.ttf", BaseFont.IDENTITY_V, BaseFont.NOT_EMBEDDED); //字體 標楷體直書
            //BaseFont bfChinese = BaseFont.createFont("C:\\windows\\fonts\\KAIU.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //字體 標楷體橫書

            pdfPageContents.SetFontAndSize(bfChinese, 14);//14 字型大小
            pdfPageContents.SetRGBColorFill(0, 0, 0); //文字顏色
            float textAngle = 0.0f; //旋轉角度
            float left = 570; //PageSize.Width / 2;
            float bottom = 700; // PapeSize.A4.Hight / 2 + 120f;
            pdfPageContents.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "版權所有翻印必究。", left, bottom, textAngle);
            //pdfPageContents.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "本內容之版權由相關機構擁有", left + 15, bottom, textAngle);
                    
            stamper.FormFlattening = true;
            stamper.Close();
            reader.Close();
            pdfPageContents.EndText();
        }
        //stamper.FormFlattening = true;
        //stamper.Close();
        FileStream fs = new FileStream("D:\\pdftmp\\102\\09\\watermarked-output.pdf", FileMode.Create, FileAccess.ReadWrite);
        BinaryWriter bw = new BinaryWriter(fs);
        bw.Write(ms.ToArray());
        fs.Close();
        bw.Close();

用此方式如產生
『此頁上有錯誤。Acrobat可能無法正確顯示頁面。請聯繫PDF文件的建立者來更正問題。』

請移除舊版檢視軟體(Adobe Reader),移除後請至「ADOBE READER」網站,下載並安裝Adobe Reader(須10.1.4以上版本)。

itext 加上圖片浮水印


        string FileLocation = "D:\\pdftmp\\102\\09\\10209240001.pdf";  //PDF原始檔路徑
        string WatermarkLocation = "D:\\www\\aspx\\cute\\water-4.png"; //浮水印圖檔路徑

        Document document = new Document();
        PdfReader pdfReader = new PdfReader(FileLocation);
        PdfStamper stamp = new PdfStamper(pdfReader, new FileStream(FileLocation.Replace(".pdf", "[temp][file].pdf"), FileMode.Create));

        iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(WatermarkLocation);
        img.SetAbsolutePosition(560, 100); // 圖片位置 (560,0 = 距離 左方,下方 位置)
        img.ScalePercent(35f);  //縮放比例

        PdfContentByte waterMark;
        for (int page = 1; page <= pdfReader.NumberOfPages; page++)
        {
            waterMark = stamp.GetOverContent(page);
            waterMark.AddImage(img);
        }
        stamp.FormFlattening = true;
        stamp.Close();
        File.Delete(FileLocation);
        File.Move(FileLocation.Replace(".pdf", "[temp][file].pdf"), FileLocation);

2013年9月22日 星期日

windows 指令大全

「開始」→「執行」指令大全

指令:gpedit.msc -----------------------群組原則
指令:sndrec32---------------------------錄音機
指令:Nslookup--------------------------IP位址偵測器
指令:explorer----------------------------開啟檔案總管
指令:logoff-------------------------------登出指令 tsshutdn-------60秒倒計時關機指令
指令:lusrmgr.msc-----------------------本地機用戶和組
指令:services.msc-----------------------本機服務設定
指令:oobe/msoobe /a-------------------檢查XP是否啟動
指令:notepad-----------------------------開啟記事本
指令:cleanmgr---------------------------磁碟垃圾整理
指令:net start messenger---------------開始信使服務
指令:compmgmt.msc-------------------電腦管理
指令:net stop messenger---------------停止信使服務
指令:conf---------------------------------啟動
指令:netmeeting dvdplay---------------DVD播放器 charmap--------啟動字元對應表
指令:diskmgmt.msc---------------------磁牒管理實用程序
指令:calc----------------------------------啟動電子計算器
指令:dfrg.msc----------------------------磁碟重組工具
指令:chkdsk.exe-------------------------Chkdsk磁牒檢查
指令:devmgmt.msc--------------------- 裝置管理員
指令:drwtsn32--------------------------- 系統醫生
指令:rononce -p -------------------------15秒關機
指令:dxdiag-------------------------------檢查DirectX資訊
指令:regedt32-----------------------------註冊表編輯器
指令:Msconfig.exe-----------------------系統配置實用程序
指令:rsop.msc-----------------------------群組原則結果集
指令:mem.exe------------------------------顯示記憶體使用情況
指令:regedit.exe--------------------------------註冊表
指令:winchat-----------------------------------XP自帶區域網路聊天
指令:progman-----------------------------------程序管理器
指令:winmsd-------------------------------系統資訊
指令: perfmon.msc-------------------------電腦效能監測程序
指令:winver-----------------------------------檢查Windows版本
指令:sfc /scannow-------------------------------掃瞄錯誤並復原
指令:taskmgr------------------------------工作管理器(2000/xp/-2003)
指令:eventvwr.msc----------------------------------事件檢視器
指令:secpol.msc-------------------------------------本機安全性設定
指令:rsop.msc-----------------------------------原則的結果集
指令:ntbackup--------------------------------啟動制作備份還原嚮導
指令:mstsc----------------------------------------遠端桌面
指令:wmimgmt.msc---------------------開啟windows管理體系結構WMI)
指令:wupdmgr----------------------------------windows更新程序
指令:wscript------------------------------------windows指令碼宿主設定
指令:write---------------------------------------------寫字板
指令:wiaacmgr-----------------------------------掃瞄儀和照相機嚮導
指令:winchat----------------------------------------XP原有的區域網路聊天
指令:mplayer2----------------------------------------------簡易
指令:widnows media player mspaint-----------------------------畫圖板
指令:mstsc-----------------------------------------------遠端桌面連接
指令:mplayer2--------------------------------------------媒體播放機
指令:magnify--------------------------------------------放大鏡實用程序
指令:mmc-------------------------------------------------------開啟控制台
指令:mobsync-----------------------------------------------------同步指令
指令:dfrg.msc-----------------------------------------------磁碟重組程式
指令:dcomcnfg-----------------------------------------開啟系統元件服務
指令:ddeshare----------------------------------------------------開啟DDE共享設定
指令:dvdplay----------------------------------------------------DVD播放器
指令:nslookup-------------------------------------------網路管理的工具嚮導
指令:ntbackup---------------------------------------------系統制作備份和還原
指令:narrator------------------------------------------------螢幕「講述人」
指令:ntmsmgr.msc-----------------------------------------------移動存儲管理器
指令:ntmsoprq.msc-------------------------------------移動存儲管理員操作請求
指令:netstat -an------------------------------------------(TC)指令檢查連接
指令:syncapp----------------------------------------------------新增一個公文包
指令:sysedit------------------------------------------------系統配置編輯器
指令:sigverif---------------------------------------文件簽名驗證程序
指令:shrpubw-------------------------------------------新增共用資料夾
指令:secpol.msc-------------------------------------------本機安全原則
指令:syskey----------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
指令:Sndvol32------------------------------------音量控制程序
指令:sfc.exe--------------------------------------系統檔案檢查器
指令:sfc /scannow---------------------------------windows文件保護
指令:tourstart--------------------------------xp簡介(安裝完成後出現的漫遊xp程序)
指令:taskmgr----------------------------------------------工作管理器
指令:eventvwr----------------------------------------------事件檢視器
指令:eudcedit------------------------------------------------造字程序
指令:explorer---------------------------------------開啟檔案總管
指令:packager--------------------------------------對像包裝程序
指令:regsvr32 /u *.dll-----------------------------------停止dll文件執行
指令:regsvr32 /u zipfldr.dll-------------------------------取消ZIP支持
指令:cmd.exe-----------------------------------CMD命令提示字元
指令:chkdsk.exe----------------------------------Chkdsk磁牒檢查
指令:certmgr.msc----------------------------證書管理實用程序
指令:calc---------------------------------------------------啟動計算器
指令:cliconfg-------------------------------------SQL SERVER 客戶端網路實用程序
指令:Clipbrd----------------------------------------------剪貼板檢視器
指令:netmeeting compmgmt.msc-----------------------------------電腦管理
指令:ciadv.msc-------------------------------------索引服務程序
指令:osk--------------------------------------------------開啟螢幕小鍵盤
指令:odbcad32-----------------------------ODBC資料來源管理器
指令:iexpress----------------------------------------木馬元件服務工具,系統原有的
指令:fsmgmt.msc-------------------------------------共用資料夾管理器
指令:utilman-----------------------------------------------協助工具管理器
指令:Clipbrd------------------------------剪貼板檢視器
指令:packager------------------------------------------------對像包裝程序
指令:sfc /scannow--------------------------------------------windows文件保護

DOS指令

•DOS指令•
C:\>help


若需某特定指定的資訊,請鍵入 HELP 指令名稱。
ASSOC 顯示或修改關聯的副檔名。
AT 將命令或程式的執行加以排程。
ATTRIB 顯示或變更檔案屬性。
BREAK 設定或清除延伸的 CTRL+C 檢查。
CALL 呼叫其他的批次程式。
CACLS 顯示或修改檔案的存取控制清單 (ACL)。
CD 顯示目前的目錄名稱或目錄變更。
CHCP 顯示或設定字碼頁號碼。
CHDIR 顯示目前的目錄名稱或目錄變更。
CHKDSK 檢查磁碟並顯示磁碟狀態。
CLS 清除螢幕。
CMD 啟動新的 Windows 2000 指令直譯器例項。
COLOR 設定預設主控台背景及前景顏色。
COMP 比較兩個或兩組檔案的差異。
COMPACT 顯示或變更在 NTFS 磁碟分割上的檔案壓縮。
CONVERT 將 FAT 磁區轉換為 NTFS。您不能轉換使用中的磁區。
COPY 將檔案複製到其它位置。
DATE 顯示或設定日期。
DEL 刪除檔案。
DIR 顯示檔案清單或子目錄清單。
DISKCOMP 比較兩個磁片的差異
DISKCOPY 將磁片內容全部複製到另一張磁片。
DOSKEY 編輯命令列,重新呼叫 Windows 2000 命令,建立巨集。
ECHO 顯示訊息,啟動或關閉 echo 功能。
ENDLOCAL 中止在批次檔案中的地區設定變更。
ERASE 刪除檔案。
EXIT 結束 CMD.EXE 程式 (指令直譯器)。
FC 比較兩個或兩組檔案的差異,並顯示結果。
FIND 搜尋檔案中的文字或字串。
FINDSTR 搜尋檔案中的字串。
FOR 為一組檔案指定個別檔案的執行命令。
FORMAT 格式化磁片以供 Windows 2000 使用。
FTYPE 顯示或修改副檔名關聯的檔案類型。
GOTO 指示 Windows 2000 指令直譯器,跳到有標示的指令行執行。
GRAFTABL 讓 Windows 2000 在圖形介面能夠顯示擴充字元集。
HELP 提供 Windows 2000 指令的說明資訊。
IF 執行邏輯判斷式。
LABEL 建立,變更,或刪除磁碟標籤。
MD 建立目錄。
MKDIR 建立目錄。
MODE 設定系統裝置。
MORE 設定螢幕顯示一頁後暫停。
MOVE 將檔案從目前的位置移動到同一磁碟中的其他目錄。
PATH 顯示或設定執行檔的搜尋目錄。
PAUSE 暫停批次檔案處理並顯示訊息。
POPD 還原先前經由 PUSHD 儲存的的現用目錄設定值。
PRINT 列印文字檔案。
PROMPT 變更 Windows 2000 命令提示字元。
PUSHD 儲存現用目錄,然後修改它。
RD 移除目錄。
RECOVER 恢復損壞磁碟的唯讀資訊。
REM 批次檔或 CONFIG.SYS 中的備註標記。
REN 重新命名檔案。
RENAME 重新命名檔案。
REPLACE 取代檔案。
RMDIR 移除目錄。
SET 顯示,設定,或移除 Windows 2000 環境變數。
SETLOCAL 啟始批次檔中地區設定的變更。
SHIFT 移動批次檔中可取代參數的位置。
SORT 排序輸入項目。
START 啟動一個獨立的視窗以執行指定程式或命令。
SUBST 將路徑對應到磁碟代號。
TIME 顯示或設定系統時間。
TITLE 設定 CMD.EXE 工作階段的視窗標題。
TREE 以圖形顯示磁碟目錄結構。
TYPE 顯示文字檔的內容。
VER 顯示 Windows 2000 版本編號。
VERIFY 告訴 Windows 2000 是否要檢查檔案寫入磁碟的正確性。
VOL 顯示磁碟標籤及序號。
XCOPY 複製檔案及目錄結構。




D:\>attrib /?
顯示或變更檔案屬性。

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename]
[/S [/D]]

+ 設定屬性。
- 清除屬性。
R 唯讀檔案屬性。
A 保存檔案屬性。
S 系統檔案屬性。
H 隱藏檔案屬性。
/S 處理目前的資料夾及所有子資料夾中相符的檔案。
/D 一併處理資料夾。
============================================================
D:\>cd /?
顯示目前工作目錄的名稱或是變更目錄。

CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]

.. 指定變更到父系目錄。

鍵入 CD drive: 即可顯示指定磁碟機的目前工作目錄。
僅鍵入 CD 而不加參數,即可顯示目前的磁碟機和目錄。

使用 /D 指令參數可以同時變更工作磁碟機及其工作目錄。


如果您啟用擴充指令,CHDIR 的變更如下:

目前的目錄字串會被轉換成與磁碟上名稱相同大小寫的字串。所以如果磁碟
上的目錄是 C:\Temp 的話,CD C:\TEMP 命令實際上會轉換為 CD C:\Temp。

CHDIR 命令不會將空格當成分隔字元,所以如果您要切換到含有空格字元
的目錄時,就算您不使用引號來括住目錄名稱,也一樣可以用 CD 指令切
換到該目錄。例如:

cd \winnt\profiles\username\programs\start menu

就相等於:

cd "\winnt\profiles\username\programs\start menu"

如果您停用擴充指令,就必須輸入前一種指令。
===========================================================

D:\>chkdsk /?
檢查磁碟並顯示狀態報告。


CHKDSK [磁碟機[[路徑]檔名]]] [/F] [/V] [/R] [/X] [/i] [/C] [/L[:大小]]


volume 指定磁碟機代號 (後接冒號),連接點或磁碟區名稱。
filename 只能用在 FAT: 指定要進行分散程度檢查的檔案。
/F 修復磁片上的錯誤。
/V FAT/FAT32 模式: 顯示磁碟上每個檔案的完整路徑及名稱。
NTFS 模式: 如果有清除的訊息,也一併顯示。
/R 找出損壞的磁扇區並復原可讀取的資訊。(包含 /F)。
/L:size 只適用於 NTFS 模式: 將記錄檔大小變更為指定的 KB
數值。如果沒有指定記錄檔大小,就顯示目前的大小。
/X 如果必須的話,強制先解下磁碟區。所有在
磁碟區上開啟的控制代碼都會失效 (包含 /F)。
/I 只適用於 NTFS 模式: 不檢查索引項目。
/C 只適用於 NTFS 模式: 跳過資料夾結構的循環檢查。


使用 /I 或 /C 參數跳過某些磁碟區檢查,可以在執行Chkdsk 時減少檢查時間。
=========================================================
D:\>cls /?
清除螢幕。

CLS
=========================================================
D:\>cmd /?
啟動 Windows 2000 指令直譯器新例項

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]

/C 執行字串中所描述的指令然後結束指令視窗
/K 執行 字串中所描述的指令然後保留指令視窗
/S 修改字串在 /C 或 /K (參看下方)
/Q 關閉 echo
/D 從登錄中停用 AutoRun 指令(參看下方)
/A 將內部指令輸出結果以 ANSI 格式導向 pipe 或檔案
/U 將內部指令輸出結果以 Unicode 格式導向 pipe或檔案
/T:fg 設定幕前/幕後色彩 (參看 COLOR /?)
/E:ON 啟用指令延伸 (參看下方)
/E:OFF 停用指令延伸 (參看下方)
/F:ON 啟用檔案及目錄名稱完整字元(參看下方)
/F:OFF 停用檔案及目錄名稱完整字元(參看下方)
/V:ON 啟用延遲環境變數延伸,用 c 作為分隔字元。例如, /V:ON
可以讓 !var! 在執行時展開變數 var。文法 var 則會在輸入時
展開變數,這在 FOR 迴圈之中是完全不同的事。
/V:OFF 停用延遲環境變數展開

請注意用命令分隔字元 '&&&&' 隔開的多個命令
如果被引號包含時則會被當成字串來接受。此外,為了相容性的原因,/X
的作用與 /E:ON 相同; /Y 與 /E:OFF 相同且 /R 與/C 相同。其餘的參數
則會被忽略。

如果指定了/C 或 /K,則在參數後的其餘命令列會被當成命令列來處理,其
中使用下面的邏輯來處理引號字元 (") :

1. 如果所有下列條件都符合,那麼指令列上的引號會被保留:

- 沒有 /S 參數
- 正好有兩個引號
- 在兩個引號之間沒有下列
特殊字元: <>()@^|
- 兩個引號之間有一些空格
- 在兩個引號之間的字串是執行檔的檔案名稱。

2. 否則,如果第一個字元是引號,舊的指令行為會把前置字元去掉,並
將指令列中第一個引號及最後一個引號之間的所有文字便成保留文字。

(&<如果您在指令行中未指定 /D,當 CMD.EXE 起動後,它會尋找下列 REG_SZ/REG_EXPAND_SZ的 登錄變數。如果有一個存在或兩個都存在,
指令會執行第一個變數。

HKEY_LOCAL_MACHINE\Software\Microsoft\CommandProcessor\AutoRun

及/或

HKEY_CURRENT_USER\Software\Microsoft\CommandProcessor\AutoRun

將指令擴充功能預設成啟用狀態。您可以在特定的
呼叫中,用 /E:OFF 參數來停用擴充功能。
您可以啟用或停用一台電腦上或使用者登入工作階段中所有
CMD.EXE 呼叫的擴充功能,如果您要這樣作,
請使用 REGEDT32.EXE 來設定以下的 REG_DWORD 值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

及/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

到 0x1 或 0x0。 使用者指定設定的執行優先權高於電腦上的設定。指令行
參數的執行優先權高於登錄中的設定值。


擴充指令包括下列指令的變更及(或)新增:

DEL or ERASE
COLOR
CD or CHDIR
MD or MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (也包括援用外部指令之變更)
ASSOC
FTYPE

請鍵入 HELP 指令名稱,以查閱說明。

預設狀態下,不會啟用延遲環境變數擴充。您可以使用 /V:ON 或 /V:OFF
參數在執行 CMD.EXE 時啟用或停用完整檔案名稱。您也可以用
REGEDT32.EXE 來修改以下 REG_DWORD 值,來啟用或停用整個電腦上
或使用者登入工作階段中所有 CMD.EXE 的檔案名稱完整功能:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

及/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

其值可為 0x1 或 0x0。使用者登錄指定會比電腦設定
優先使用。而指令行參數又會比登錄設定值更優先使用。

如果已啟用延遲環境變數擴充,驚嘆號字元會在執行時
被用來取代環境變數值。

預設無法啟用檔案和目錄名稱完成。 您可以為特定的 CMD.EXE 呼叫,以
/F:ON 或 /F:OFF 開關啟用或停用檔案名稱完成。 您可以啟用或停用在同
一部電腦上所有 CMD.EXE 的呼叫完成及/或使用者登入工作階段。方法是使
用 REGEDT32.EXE 設定其一或兩者登錄中的 REG_DWORD 值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

及/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

用於特定功能的控制字元十六進位值 (例如 0x4 是 Ctrl-D ; 0x6 是
Ctrl-F)。使用者特定設定優先於電腦設定,指令行開關也優先於登錄設定。

如果以 /F:ON 開關啟用完成,則用於目錄名稱完成的控制字元是 Ctrl-D
而用於檔案名稱完成的控制字元是 Ctrl-F。如果您要停用在登錄中的特定
完成字元,請使用空間值 (0x20),因為它不是正確的控制字元。

當您鍵入其中一個控制字元後,完成功能會被啟動。如果路徑字串已存在,
而且所建立的路徑清單也符合的話,完成函數會讀取到指標所在左方為止
的路徑字串。然後它會顯示第一個符合的路徑。如果找不到符合的路徑,
它會發出嗶聲並保留顯示。如果您重覆按相同的控制字元,它將在符合的路
徑清單中循環執行。如果您同時按下 Shift 鍵與控制字元,可在清單中反
向移動。如果您進行編輯後再按控制字元的話,已儲存的符合路徑清單會被
丟棄,並建立新的清單。如果您在檔案及目錄完成功能之間切換,會有同樣
的情況發生。這兩個控制字元不同之處是:檔案完成字元可同時對應檔案及
目錄名稱,而目錄完成字元只能對應目錄名稱。如果您將檔案完成功能用在
內建目錄命令上 (CD,MD 或 RD) 也等於使用了目錄完成功能。

如果您在路徑字串兩端加上引號,完成功能鍵就可正確處理包含空格或其他
特殊字元的檔案名稱。還有,如果您備份後,又在指令行中呼叫完成功能的
話,已呼叫過完成功能的指標右方的文字會被丟棄。
===========================================================

D:\>comp /?
比較兩個檔案或兩組檔案的內容。

COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C]

data1 指定第一個或第一組要比較的檔案的位置與檔名。
data2 指定第二個或第二組要比較的檔案的位置與檔名。
/D 以十進位格式來顯示不同之處。
/A 以 ASCII 字元來顯示不同之處。
/L 顯示不同之處的行號。
/N=number 只比較每個檔案中第一個指定的行號。
/C 比較檔案時忽略 ASCII 字母的大小寫。

要比較一組檔案,請在 data1 和 data2 參數中使用萬用字元。
===========================================================
D:\>copy /?
將一些檔案複製到另一個位置。

COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]

source 指定要複製的檔案。
/A 指定一個 ASCII 文字檔案。
/B 指定一個二位元檔案。
destination 為新檔案指定目錄及(或) 檔案名稱。
/V 確認新檔案是否正確寫入。
/N 使用短檔名來複製非 8.3 名稱的檔案(如果可用的話)。
/Y 不顯示覆寫現存目的檔案的確認提示。
/-Y 顯示覆寫現存目的檔案的確認提示。
/Z 在可重新啟動模式中複製網路檔案。

參數 /Y 可以預先設定在 COPYCMD 環境變數中。
這可能會覆寫指令行中的 /-Y。 預設值是顯示覆寫確認提示,除非
COPY指令是從批次檔中執行。

如果要附加檔案,指定一個目的檔案,及數個
來源檔案 (使用萬用字元或 file1+file2+file3 格式)。
=========================================================
D:\>date /?
顯示或設定日期。

DATE [/T | date]

只鍵入 DATE 而不加上參數,可以顯示目前設定的日期,並且提示您輸入新
的日期。按 ENTER 鍵即可保持原來日期。

如果您啟用擴充指令,DATE 指令會支援 /T 參數,這個參數
會讓指令只輸出目前的日期,而不提示您輸入新日期。
===========================================================
D:\>del /?
刪除一個或更多檔案。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一個或更多檔案或目錄清單。可以使用萬用字元
來刪除多個檔案。 如果指定目錄,這個目錄內的所有
檔案將被刪除。

/P 刪除每個檔案前,先提示確認。
/F 強制刪除唯讀檔案。
/S 由所有子目錄刪除指定的檔案。
/Q 安靜模式,不要問是否確定刪除全域萬用字元
/A 根據屬性選取要刪除的檔案
attributes R 唯讀檔案 S 系統檔案
H 隱藏檔案 A 準備保存的檔案
- 首碼表示不是

如果您啟用擴充指令,DEL 和 ERASE 指令的變更如下:

/S 參數的顯示方式完全相反,它只會顯示已刪除的檔案,不會顯示它找不
到的檔案。
============================================================
D:\>dir /?
顯示檔案清單以列出目錄中的檔案及子目錄。

DIR [drive:][path][filename] [/A[[:]attributes]] [/b] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename]
指定要顯示的磁碟機、目錄或檔案。

/A 依照指定的檔案屬性來顯示檔案。
attributes D 目錄 R 唯讀檔
H 隱藏檔 A 保存檔
S 系統檔案 - 無意義
/B 使用單純格式 (沒有標頭資訊或摘要)。
/C 顯示檔案大小千位數分隔符號。這是預設值。
使用 /-C 來停用分隔符號的顯示。
/D 與寬的列表格式相同,但是依照欄來排序。
/L 使用小寫顯示。
/N 使用新的長列表格式,檔名會顯示在最右方。
/O 依照指定的排序順序來列出檔案。
sortorder N 依名稱 (英文字母) S 依大小 (最小的在前)
E 依副檔名 (英文字母) D 依照日期與時間 (日期較早的
在前)
G 先列出子目錄 - 表示相反的順序
/P 當資料填滿整個螢幕時暫停顯示。
/Q 顯示檔案擁有人。
/S 顯示指定目錄及所有子目錄中的檔案。
/T 指定用來顯示或排序的時間欄位
timefield C 建立
A 上次檔案存取時間
W 上次寫入檔案時間
/W 使用寬的列表格式。
/X 顯示對非 8.3 格式的檔案產生的短檔名。這個格式和 /N
相同,但是短檔名會插入在長檔名之前。 如果沒有長檔
名存在,該處會顯示空白。
/4 顯示四位數的年份

參數可能會在 DIRCMD 環境變數預先設定。您可以在任何參數使用連字號
字首(-)來覆蓋預先的設定--例如: /-W。
===========================================================

D:\>doskey /?
編輯指令列,叫回 Windows 2000 指令,及建立巨集。

DOSKEY [/REINSTALL][/LISTSIZE=size] [/MACROS[:ALL | :exename]]
[/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename]
[/MACROFILE=filename][macroname=[text]]

/REINSTALL 安裝另一份 Doskey。
/LISTSIZE=size 設定指令歷程緩衝區的大小。
/MACROS 顯示所有的 Doskey 巨集。
/MACROS:ALL 顯示所有執行檔中含有 Doskey 巨集的
Doskey 巨集。
/MACROS:exename 顯示指定的執行檔中的所有 Doskey 巨集。
/HISTORY 顯示存在記憶體中的所有指令。
/INSERT 指定您所鍵入的新文字插入在舊的文字中。
/OVERSTRIKE 指定您所鍵入的新文字覆蓋舊的文字。
/EXENAME=exename 指定執行檔。
/MACROFILE=filename 指定要安裝的巨集檔案。
macroname 為您建立的巨集指定名稱。
text 指定您要記錄的指令。

向上與向下鍵 叫回以前的指令; ESC 清除指令列;
F7 顯示指令歷程; ALT+F7 清除指令歷程; F8 尋找指令歷程;
F9 以號碼選擇指令; ALT+F10 清除巨集定義

以下是在 Doskey 巨集定義中的特殊碼:
$T 指令分隔字元。允許在一個巨集中使用多個指令。
$1-$9 批次檔參數。相當於批次檔中的 %1 到 %9。
$* 這個符號代表在指令行中巨集名稱後的所有文字。
============================================================
D:\>echo /?
顯示訊息,或切換指令回應的開啟狀態。

ECHO [ON | OFF]
ECHO [message]

僅鍵入 ECHO 而不加上參數,可以顯示目前的 ECHO 設定。

==========================================================
D:\>exit /?
結束 CMD.EXE 程式 (指令直譯器) 或目前的批次檔。

EXIT [/b] [exitCode]

/B 指定這個參數來結束目前批次檔而不是 CMD.EXE。
如果是由批次檔之外執行,CMD.EXE將會結束。

exitCode 指定一個數字。如果指定 /B,則設定 ERRORLEVEL為這個
數字。如果結束 CMD.EXE,設定程序結束碼為這個數字。
=========================================================
D:\>fc /?
比較兩個檔案或兩組檔案並且顯示其中的不同之處


FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/u] [/W] [/nnnn] [drive1:][path1]filename1
[drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

/A 針對每組不同之處只要顯示其中的第一行和最後一行。
/B 使用二進位的內容比較。
/C 忽略字母的大小寫。
/L 以 ASCII 文字檔案方式來比較檔案。
/LBn 在指定的行數中設定容許的最多連續的檔案不相符。
/N 在 ASCII 方式的比較中顯示行數。
/T 不要將定位字元展開為空格。
/U 以 UNICODE 文字檔案方式來比較檔案。
/W 將空白字元 (定位字元和空格) 壓縮後再進行比較。
/nnnn 指定在一處不相同之後必須相同的連續行數。
==========================================================
D:\>find /?
搜尋檔案中的文字字串。

FIND [/V] [/C] [/N] [/i] "string" [[drive:][path]filename[ ...]]

/V 顯示所有不包含指定字串的行。
/C 只顯示包含字串的行數。
/N 顯示每一行及它的行號。
/I 當搜尋字串時,忽略字元的大小寫。
"string" 指定要尋找的文字字串。
[drive:][path]filename
指定要尋找的檔案。

如果沒有指定路徑,FIND 會搜尋在提示字元中所輸入的文字
或者在其它的命令中搜尋。
============================================================
D:\>findstr /?
在檔案中搜尋字串。

FINDSTR [/b] [/E] [/L] [/R] [/S] [/i] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
[/C:string] [/G:file] [strings] [[drive:][path]filename[ ...]]

/B 如果是在行的開端,則符合類型。
/E 如果是在行的尾端,則符合類型。
/L 逐字使用搜尋字串。
/R 使用搜尋字串為一般表示式。
/S 在現存目錄及所有的子目錄中搜尋符合的檔案。
/I 指定搜尋不區分大小寫。
/X 列印完全符合的行數。
/V 只列印不含相符字串的行數。
/N 列印每一行符合的行數前的行編號。
/M 只列印包含相符字串的檔案的檔案名稱。
/O 列印每一個相符行之前的字元位移。
/P 略過沒有可列印字元的檔案
/F:file 從指定的檔案讀取檔案清單 (/ 代表主控台)。
/C:string 使用特定的字串作為逐字搜尋的字串。
/G:file 從指定的檔案取得搜尋字串(/ 代表主控台)。
strings 要搜尋的文字。
[drive:][path]filename
指定要搜尋的一個或多個檔案。

除非引數的字首有 /C ,否則請以空格將多重搜尋字串分開。例如,
'FINDSTR "hello there" x.y' 將會在檔案 x.y 中搜尋 "hello",或"there"。
'FINDSTR /C:"hello there" x.y' 將會在檔案 x.y 中搜尋"hello there"。

有關 FINDSTR 一般表示式的資訊,請參閱連線指令參照。
==========================================================
D:\>format /?
格式化磁片以供 Windows 2000 使用。

FORMAT 磁碟機 [/FS:檔案-系統] [/V:標籤] [/Q] [/A:大小] [/C] [/X]
FORMAT 磁碟機 [/V:標籤] [/Q] [/F:大小]
FORMAT 磁碟機 [/V:標籤] [/Q] [/T:磁軌 /N:磁扇區]
FORMAT 磁碟機 [/V:標籤] [/Q] [/1] [/4]
FORMAT volume [/Q] [/1] [/4] [/8]

volume 指定磁碟機代號 (後接冒號),
連接點或磁碟區名稱。
/FS:filesystem 指定檔案系統的類型 (FAT、FAT32 或 NTFS)。
/V:label 指定磁碟區標記。
/Q 執行快速格式化。
/C 建立在新磁碟區上的檔案會自動壓縮。
/X 視需要先將磁碟區解下。
所有在磁碟區上開啟的控制碼都不再是正確的。
/A:size 覆寫預設的配置單位大小。建議在一般使用時,最
好使用預設設定。
NTFS 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K。
FAT 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
(128K, 256K 供磁碟區容量 > 512 位元組使用)。
FAT32 支援 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
(128K, 256K 供磁扇區容量 > 512 位元組使用)。

請注意 FAT 及 FAT32 檔案系統在磁碟區的叢集數目上
強制下列的限制:

FAT: 叢集數目 <= 65526
FAT32: 65526 < 叢集數目 < 268435446

如果格式化發現使用指定的叢集大小無法符合上面的要
求,格式化將會自動停止執行。

NTFS 壓縮不支援大小大於 4096 的配置單位。
/F:size 指定要格式化的軟碟大小 (160,
180, 320, 360, 640, 720, 1.2, 1.23, 1.44, 2.88, 或 20..
/T:tracks 為磁片各面指定磁軌數量。
/N:sectors 指定各條磁軌的磁碟區數量。
/1 格式化單面的軟式磁片。
/4 在高密度磁碟機內格式化 5.25 吋 360K軟式磁片。
/8 每條磁軌格式化八個磁碟區。
===========================================================
D:\>help /?
提供 Windows 2000 指令的說明訊息。

HELP [command]

command - 顯示該指令的說明訊息。
===========================================================

D:\>md /?
建立目錄。

MKDIR [drive:]path
MD [drive:]path

如果您啟用擴充指令,MKDIR 的變更如下:

必要時,MKDIR 會在目錄中建立一個中間目錄。
例如,假設 \a 不存在,則:

mkdir \a\b\c\d

相同於:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

如果擴充功能停用的話,您必須鍵入前一種指令類型。
=======================================================
D:\>mkdir /?
建立目錄。

MKDIR [drive:]path
MD [drive:]path

如果您啟用擴充指令,MKDIR 的變更如下:

必要時,MKDIR 會在目錄中建立一個中間目錄。
例如,假設 \a 不存在,則:

mkdir \a\b\c\d

相同於:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

如果擴充功能停用的話,您必須鍵入前一種指令類型。
===========================================================

D:\>more /?
以一次一頁螢幕的方式來顯示輸出。

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

[drive:][path]filename 指定要顯示的檔案。檔案會以一次
一頁螢幕的方式顯示。

command-name 指定一個命令,而它的輸出將會以
一次一頁螢幕的方式顯示。

/E 啟用擴充功能。
/C 在顯示一頁之前先清除螢幕。
/P 展開 FormFeed 字元。
/S 將數個空白行顯示為一行。
/Tn 將定位字元展開為 n 個空白 (預設值為

MORE 環境變數中可以有指令選項

+n 在第 n 行開始顯示第一個檔案。

files 要顯示的檔案清單。在清單中的檔案用空格分開。

如果您使用了擴充功能,您可以在 -- 其它 --提示出現時,使用下列命令:

P n 顯示下面 n 行
S n 跳過下面 n 行
F 顯示下一個檔案
Q 結束
= 顯示行號
? 顯示輔助說明行
顯示下一頁
顯示下一行
========================================================
D:\>move /?
移動或更改檔案及目錄的名稱。

移動一個或一個以上的檔案:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

更改目錄名稱:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

[drive:][path]filename1 指定您要移動的檔案的位置與名稱。
destination 指定檔案的新位置。目的位置可以包含磁碟機字元
和冒號、目錄名稱、或是這些的組合。如果您只移
動一個檔案,您也可以包含檔名。這樣做會在移動
的同時更改檔名。
[drive:][path]dirname1 指定您要更改名稱的目錄。
dirname2 指定目錄的新名稱。

/Y 不要提示您是否要覆蓋一個現存的目的檔案。
/-Y 提示您是否要覆蓋一個現存的目的檔案。

參數 /Y 可能會在 COPYCMD 環境變數中預先設定。您可以在指令行中
使用 /-Y 來覆蓋預設值。預設值是除非 MOVE 命令是在批次檔中執行,
否則系統會提示您是否要覆寫現有檔案。
===========================================================
D:\>path /?
顯示或設定搜尋執行檔的路徑。

PATH [[drive:]path[;...][;%PATH%]
PATH ;

鍵入 PATH ; 即可清除所有搜尋路徑的設定,並將 cmd.exe 重導為只搜尋
目前的目錄。鍵入 PATH 且不指定任何參數,可顯示目前的搜尋路徑。
在設定的新路徑中加上 %PATH%,可以將舊路徑附加到新的設定。
===========================================================

D:\>rd /?
移除 (刪除) 一個目錄。

RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path

/S 除了目錄本身之外,一併移除指定目錄裡的所有目錄和檔案。
用於移除樹狀目錄結構。

/Q 安靜模式,有 /S 時,刪除目錄樹結構不再要求確認

============================================================
D:\>ren /?
更改檔案名稱。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

請注意您不能為目的檔案指定新的磁碟機或路徑。
===========================================================

D:\>replace /?
取代檔案。

REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/u]

[drive1:][path1]filename 指定來源檔案。
[drive2:][path2] 指定要取代的檔案的目錄。
/A 將新檔案加到目地目錄。不能和
/S 或 /U 參數同時使用。
/P 當取代檔案或新增來源檔案時顯示確
認的提示。
/R 取代唯讀與未受保護的檔案。
/S 取代在目的目錄中所有子目錄的檔案。不能
和 /A 參數同時使用。
/W 在開始前等待您放入磁片。
/U 只取代 (更新) 比來源檔案早
的檔案。不能和 /A 參數同時使用。
============================================================

D:\>time /?
顯示或設定系統時間。

TIME [/T | time]

僅鍵入 TIME 而不加上參數,可以顯示目前設定的時間,並且提示您輸入
新的時間。按 ENTER 鍵即可保持原來時間。

如果您啟用擴充指令,TIME 指令將會支援/T 參數,這個參數
會讓指令只輸出目前的時間,而不提示您輸入新時間。
==============================================================
D:\>tree /?
以圖形顯示磁碟機或路徑的資料夾架構。

TREE [drive:][path] [/F] [/A]

/F 顯示各資料夾中檔案的名稱。
/A 使用 ASCII 取代延伸字元。
============================================================
D:\>type /?
顯示文字檔案的內容。

TYPE [drive:][path]filename
============================================================
D:\>ver /?
顯示 Windows 2000 版本。

VER
============================================================
D:\>vol /?
顯示磁碟區標籤和序號 (若有的話)。

VOL [drive:]
=============================================================
D:\>xcopy /?
複製檔案和樹狀目錄。

XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/i] [/Q] [/F] [/L] [/H] [/R] [/T] [/u]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\r\n
[/EXCLUDE:file1[+file2][+file3]...]

source 指定要複製的檔案。
destination 指定位置或者/以及新檔案的名稱。
/A 只複製設定成保存屬性的檔案,不要改變屬性的設定。
/M 只複製設定成保存屬性的檔案,並清除保存屬性。
/D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日
期,只複製那些來源檔案日期比目的檔案日期為新的檔案。
/EXCLUDE:file1[+file2][+file3]...
指定檔案清單字串。如果有字串對應到要進行複製的檔案
絕對路徑的任何部分,這個檔案會被排除複製。例如,指定
字串\obj\ 或 .obj 的話,會排除所有在 obj 目錄下副檔名是
.obj 的檔案複製。
/P 在建立每個目的檔案時顯示提示。
/S 複製每個目錄及其包含的子目錄,不複製空目錄。
/E 複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E
相同,能夠用來修改 /T。
/V 驗證每個新檔案。
/W 在複製之前提示您按鍵繼續。
/C 如果錯誤發生時也繼續複製。
/I 如果目的不存在且複製一個以上的檔案的話,就假設指定的
目的一定是目錄。
/Q 在複製時不要顯示檔名。
/F 在複製時顯示來源及目的檔案的全部檔名。
/L 顯示要複製的檔案。
/H 時複製隱藏檔和系統檔。
/R 覆蓋唯讀檔案。
/T 建立目錄結構,但不複製其中的檔案。不包括空目錄及子目
錄。/T /E 會包括空目錄及子目錄。
/U 只複製已經存在目的位置的檔案。
/K 複製檔案屬性。通常 Xcopy 會重設唯讀的屬性。
/N 用所產生的短檔名來進行複製。
/O 複製檔案所有權及 ACL 資訊。
/X 複製檔案審查設定 (包含 /O)。
/Y 不要提示您確認是否要覆蓋一個已經存在的檔案。
/-Y 示您確認是否要覆蓋一個已經存在的檔案。
/Z 在可重新開始的模式中複製網路檔案。

參數 /Y 可以在 COPYCMD 環境變數中預先設定。但可以在指令行中用
/-Y 參數來覆蓋原有設定。

spry身分驗證改成台灣版本

'social_security_number': { //pattern:'B000000000' characterMasking: /[^\s]/, validation: function(value, options) { var rx = /^[a-zA-z]{1}[1-2]{1}[0-9]{8}$/i; return rx.test(value); } },

前端 spry 檢查新使用者帳號

1.先將SpryAssets include進來



2.在SpryValidationTextField.js的Spry.Widget.ValidationTextField.ValidationDescriptors 中自訂一個username
 'username': {
  
  validation: function(value, options){
  var specials = value.replace(/[a-z0-9]/ig, '').length;//不可使用特殊符號
  if (specials>0) return false;
  return Spry.Widget.ValidationTextField.username(value, options);
  }
    },
3.html code


這是必填欄位。
未達到6個字元。
已超出16個字元。
此帳號不可使用!!

4.這一段加在後面

5.server端程式最好在檢查一次

2013年9月21日 星期六

jQuery 日期選擇器

1 於< head >< /head >之間加入以下程式碼
   



 

2 加入以下javascript



3.日期輸入框

2013年9月20日 星期五

取得Insert data 後的Mysql auto_increment 值

<? mysql_query("INSERT INTO...."); echo mysql_insert_id(); ?>

or

<? mysql_query("INSERT INTO...."); mysql_query("SELECT LAST_INSERT_ID()"); ?>

2013年9月14日 星期六

c# 判斷字串是否為空值IsNullOrEmpty

若有一個字串為空值,例如: string a=""; string b=null; string c=string.Empty; 所以要判斷a、b、c是否為空值,可以使用IsNullOrEmpty來判斷,所以上面三個字串,其結果皆為true。 string.IsNullOrEmpty(a) = true; string.IsNullOrEmpty(b) = true; string.IsNullOrEmpty(c) = true;

上一篇下一篇

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



    無標題頁


    
上一篇:下一篇:
.cs頁面

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
    CommonClass CC = new CommonClass();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string id = Request["id"].ToString();
            bindNext(Convert.ToInt32(id));
        }
    }
    private void bindNext(int id)
    {
        int lastid = id - 1;
        int nextid = id + 1;
        this.ViewState["NextDetails"] = nextid.ToString();
        this.ViewState["lastid"] = lastid.ToString();
        this.ViewState["nextid"] = nextid.ToString();
        if (lastid > 0)
        {
            string sql = "select * from news where id=" + lastid + "";
            DataSet ds = CC.GetDataSet(sql, "dttit");
            DataRow[] row = ds.Tables["dttit"].Select();
            foreach (DataRow rs in row)
            {
                this.lbName.Text = rs["title"].ToString();
                this.lkLast.Text = rs["title"].ToString();
                this.ViewState["lastDetails"] = rs["content"].ToString();
            }

        }
        else
        {
            this.lkLast.Text = "已經是第一篇";
        }
        string sql1 = "select * from news where id=" + nextid + "";
        DataSet ds1 = CC.GetDataSet(sql1, "dttit");
        DataRow[] row1 = ds1.Tables["dttit"].Select();
        foreach (DataRow rs1 in row1)
        {
            this.lbName.Text = rs1["title"].ToString();
            this.lkNext.Text = rs1["title"].ToString();
            this.ViewState["nextDetails"] = rs1["content"].ToString();
        }

    }
    protected void lkLast_Click(object sender, EventArgs e)
    {
        this.LbDetails.Text = this.ViewState["lastDetails"].ToString();
        int id = Convert.ToInt32(this.ViewState["lastid"].ToString());
        bindNext(id);
    }
    protected void lkNext_Click(object sender, EventArgs e)
    {
        this.LbDetails.Text = this.ViewState["nextDetails"].ToString();
        int id = Convert.ToInt32(this.ViewState["nextid"].ToString());
        bindNext(id);
    }
}

2013年9月13日 星期五

自動連線網路磁碟

net use t: \\user-PC\share /user:share 12345678

不允許使用多於一個使用者名稱的相同使用者有多個連線到一個伺服器或公用資源.......

不允許使用多於一個使用者名稱的相同使用者有多個連線到一個伺服器或公用資源.......
依序使用下列方法解看看:
1. 先查看一下我的電腦, 看是否有 \\192.168.0.10\e$ 的 網路磁碟機連線.
2. 刪除連線磁碟 net use \\172.17.16.17\e$ /delete
3. 如果還是不行呢! 假設您是用\\IP\資料夾連線或是設定連線磁碟機,嘗試改用\\主機名稱\資料夾,不同就反之。

2013年9月6日 星期五

backup_tables

< ?php 
backup_tables('localhost','root','xxxxxxx','dbname');

/* backup the db OR just a table 
$hostname 主機名稱
$username 帳號
$password 密碼
$dbname   資料庫名稱
*/

function backup_tables($hostname,$username,$password,$dbname,$tables = '*')
{
 
 $link = mysql_connect($hostname,$username,$password);
 mysql_select_db($dbname,$link);
 
 //get all of the tables
 if($tables == '*')
 {
  $tables = array();
  $result = mysql_query('SHOW TABLES');
  while($row = mysql_fetch_row($result))
  {
   $tables[] = $row[0];
  }
 }
 else
 {
  $tables = is_array($tables) ? $tables : explode(',',$tables);
 }
 
 //cycle through
 foreach($tables as $table)
 {
  $result = mysql_query('SELECT * FROM '.$table);
  $num_fields = mysql_num_fields($result);
  
  $return.= 'DROP TABLE '.$table.';';
  $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
  $return.= "\n\n".$row2[1].";\n\n";
  
  for ($i = 0; $i < $num_fields; $i++) 
  {
   while($row = mysql_fetch_row($result))
   {
    $return.= 'INSERT INTO '.$table.' VALUES(';
    for($j=0; $j<$num_fields; $j++) 
    {
     $row[$j] = addslashes($row[$j]);
     $row[$j] = ereg_replace("\n","\\n",$row[$j]);
     if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
     if ($j<($num_fields-1)) { $return.= ','; }
    }
    $return.= ");\n";
   }
  }
  $return.="\n\n\n";
 }
 
 //save file
 $handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
 fwrite($handle,$return);
 fclose($handle);
}
? >

php 連接 mssql

我的程式
<?php
//mssql.secure_connection = On
// Need to upload ntwdblib.dll from net

$myServer = ".\SQLEXPRESS"; // host/instance_name
$myUser = "sa"; // username
$myPass = "xxxxxxxx"; // paasword
$myDB = "mydb"; // database name

// connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
or die("Couldn’t connect to SQL Server on $myServer");

// select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
or die("Couldn’t open database $myDB");

echo "You are connected to the " . $myDB . " database on the " . $myServer . ".";

$query = "SELECT top 10 * FROM Account"; // your database query
$result = mssql_query($query);
while($row = mssql_fetch_assoc($result))
{
print_r($row);
}
// close the connection
mssql_close($dbhandle);

?>

在連接 mssql 時出現這個問題
“Warning mssql_connect()[function.mssql-connect]: Unable to connect to server:”

解決方法
1.修改 php.ini 打開php.ini
找到 ;extension=php_mssql.dll
打extension=php_mssql.dll 前面的 “;” 刪除便可以了

2.下載 ntwdblib.dll
之後把他複製/取代 你電腦上的
Apache/bin/ntwdblib.dll 和 php/ntwdblib.dll

3. Apache Restart

再測就OK了

2013年8月28日 星期三

先加上這一段

















再貼程式碼
這裡貼上程式碼

brush 標籤如下
Brush name         Brush aliases             File name 
ActionScript3      as3, actionscript3        shBrushAS3.js 
Bash/shell         bash, shell               shBrushBash.js 
ColdFusion         cf, coldfusion            shBrushColdFusion.js 
C#                 c-sharp, csharp           shBrushCSharp.js 
C++                cpp, c                    shBrushCpp.js 
CSS                css                       shBrushCss.js 
Delphi             delphi, pas, pascal       shBrushDelphi.js 
Diff               diff, patch               shBrushDiff.js 
Erlang             erl, erlang               shBrushErlang.js 
Groovy             groovy                    shBrushGroovy.js 
JavaScript         js, jscript, javascript   shBrushJScript.js 
Java               java                      shBrushJava.js 
JavaFX             jfx, javafx               shBrushJavaFX.js 
Perl               perl, pl                  shBrushPerl.js 
PHP                php                       shBrushPhp.js 
Plain              Text plain, text          shBrushPlain.js 
PowerShell         ps, powershell            shBrushPowerShell.js 
Python             py, python                shBrushPython.js 
Ruby               rails, ror, ruby          shBrushRuby.js 
Scala              scala                     shBrushScala.js 
SQL                sql                       shBrushSql.js 
Visual Basic       vb, vbnet                 shBrushVb.js 
XML                xml,xhtml,xslt,html,xhtml shBrushXml.js 

如果是php 記得要把? 變成?全形
不然會出錯
<?php
asdf
asdf
asdf
?>

2013年8月26日 星期一

正則式 取出 { } 裡的文字

<?php
$text='{A}fgfgfhf{bb}gdfdd/***4{CC}fs';   

preg_match_all('|{(.+?)}|is', $text, $match);
print_r($match);  
?>