精华内容
下载资源
问答
  • 关于Linux下的文件扩展名问题

    千次阅读 2019-05-29 11:01:04
    Windows系统根据文件扩展名来区分文件类型,Linux是通过查看文件头部信息来确定文件类型,与文件的名字无关。 例如在Linux下,file.txt、file.tar.gz虽然用不同的程序打开,但放在Linux文件类型来看,算是普通...

    Windows系统根据文件的扩展名来区分文件类型,Linux是通过查看文件头部信息来确定文件类型,与文件的名字无关

    例如在Linux下,file.txt、file.tar.gz虽然用不同的程序打开,但放在Linux文件类型中来看,算是普通文件。

    在Linux文件类型常见有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等。

    或许有这样的疑问,如果编辑了两个文件,一个名为test文件,一个名为test.c文件。两个文件的内容完全一样:

    #include <stdio.h>
    int main()
    {
    	printf("hello, linux!\n");
    	return 0;
    }
    

    但在用gcc编译时,test编译不过,但test.c文件正常编译。
    在这里插入图片描述
    要说的是,以上使用gcc编译test时出现错误,不是操作系统的原因。代码文件命名为test与test.c,对于linux系统都是text文件,没有区别。但对编译程序gcc来说就不同了,gcc编译器程序是根据文件的扩展名来判断文件类型的,所以使用gcc命令时出现错误不是操作系统的原因,而与gcc有关。gcc程序的输入文件一般扩展名为.c,.cpp,.o,.S,.s等。
    我们用file命令查看test文件和test.c文件,可以看到两个都是C源文件,ASCII text文件。验证了上面的说法。
    在这里插入图片描述

    展开全文
  • IIS6 只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。即IIS不支持未知文件扩展下载!症状当您从 IIS 6.0 Web 服务器请求文件时,而该文件的扩展...

    在IIS6中新增可下载文件类型
    IIS 6.0 不能处理未知的 MIME 类型
    IIS6 只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。即IIS不支持未知文件扩展下载!

    症状
    当您从 IIS 6.0 Web 服务器中请求文件时,而该文件的扩展名不是 Web 服务器上已定义的 MIME 类型,您将看到以下错误消息: 
    HTTP 错误 404 - 找不到文件或目录。 
    rzf@dl.gov.cn
    原因
    IIS 早期版本包含通配符 MIME 映射,允许 IIS 处理任何文件而无需考虑扩展名。IIS 6.0 不包含该通配符 MIME 映射,不能处理在 IIS 元数据库中的 MimeMap 节点以外定义的任何类型的扩展名。

    解决方案
    使用 MIME 类型
      
      Multipurpose Internet Mail Exchange (MIME) 类型说明了 Web 浏览器或邮件应用程序如何处理从服务器接收的文件。例如,当 Web 浏览器请求服务器上的某一项目时,也会请求此对象的 MIME 类型。某些 MIME 类型(例如图形)可以在浏览器内部显示。其他的 MIME 类型(例如文字处理文档)则需要使用外部帮助应用程序来显示。
      
      当 IIS 传递邮件消息给邮件应用程序或传递网页给客户端 Web 浏览器时,IIS 也发送了所传递数据的 MIME 类型。如果存在以特定格式传递的附加或嵌入文件,那么 IIS 就会通知客户端应用程序嵌入或附加文件的 MIME 类型。然后客户端应用程序就知道了如何处理或显示正从 IIS 接收的数据。
      
      IIS 只为具有已在 MIME 类型列表中注册的扩展名的文件提供服务,并且也允许配置其他的 MIME 类型和更改或删除 MIME 类型。
      
      IIS 预配置为识别全局 MIME 类型的默认设置。您在 IIS 中创建的所有网站可以识别这些 MIME 类型。MIME 类型还可以独立于其他的或全局定义的类型,在网站和目录级别上定义。当在网站或目录级别上查看 MIME 类型时,只显示唯一对应于此级别的类型,并非从上一级别继承的所有类型。如果在较低级别修改 MIME 类型后,又在全局级别上应用相同的 MIME 类型,那么全局级别的 MIME 类型将覆盖在较低级别修改过的MIME 类型。
      
      如果 客户端请求引用了其扩展名未在 MIME 类型中定义的文件扩展名,那么 IIS 将返回一个 404.3 错误。通过添加通配符 (*) MIME 类型,也可以将 IIS 配置成向所有的文件提供服务,而忽略文件扩展名。
      
      要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%/system32/inetsrv/iis.msc"。

    警告:如果不正确地编辑元数据库,可能会导致严重问题,您可能需要重新安装使用元数据库的所有产品。Microsoft 不能保证能够解决由于您错误地编辑元数据库而导致的问题。编辑元数据库需要您自担风险。

    注意:每次编辑元数据库前都要进行备份。

    下面让IIS6支持DVf文件格式下载:
    DVF文件为Sony Compressed Voice File或DV Studio Camcorder Graphics File ,一般使用于录音笔文件。
    Extension: DVF ASCII: MS_VOICE
    You can use the Sony Player Plug-in Version 1.2 for the Microsoft Windows Media Player Application to play.

    要为特定扩展名定义 MIME 类型,请按照下列步骤操作:

    1. 打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击“属性”。 
    2. 单击“MIME 类型”。 
    3. 单击“新建”。 
    4. 在“扩展名”框中,键入所需的文件扩展名(例如,.dvf 录音笔文件)。 
    5. 在“MIME 类型”框中,键入 application/octet-stream。 
    6. 应用新设置。请注意,您必须重新启动“万维网发布服务”或等待工作进程循环以使更改生效。在此示例中,IIS 现在可以处理带有 .dvf扩展名的文件,你的IIS即可提供录音笔文件的下载了。

    如果希望处理所有文件而不考虑文件扩展名(例如,如果您无法预知将处理的所有文件),请按照下列步骤添加通配符映射:

    注意:您只能在故障排除过程中将通配符映射添加到 IIS MIME 映射中,以作为一种临时解决方案。确定缺少 MIME 类型是问题的原因后,请删除通配符映射,然后添加需要处理的 MIME 类型的特定映射。

    1. 打开 IIS Microsoft 管理控制台 (MMC),右键单击本地计算机名称,然后单击“属性”。 
    2. 单击“MIME 类型”。 
    3. 单击“新建”。 
    4. 在“扩展名”框中,键入星号 (*)。 
    5. 在“MIME 类型”框中,键入 application/octet-stream。 
    6. 应用新设置。请注意,您必须重新启动“万维网发布服务”或等待工作进程循环以使更改生效。 
    注意:除了在 IIS 全局层进行上述更改外,还可以在元数据库的较低层添加必要的 MIME 类型。此时,您可以指定允许处理具有特定文件扩展名的站点或目录,而不是全局性允许所有站点处理该扩展名。

    展开全文
  • 扩展名为bat的文件的创建

    千次阅读 2018-06-26 17:54:24
    一、在了解bat文件前要了解下DOS命令,DOS命令:计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。而bat文件就是把一系列的DOS...

    一、在了解bat文件前要了解下DOS命令,DOS命令:计算机术语,是指DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录操作类命令、磁盘操作类命令、文件操作类命令和其它命令。而bat文件就是把一系列的DOS命令存放在一个BAT格式的文件里, 以后,只要你想再按相同的顺序来执行这一系列的DOS命令而又不想再次一条条来输入的话,就直接运行刚才那个bat文件就OK了.

    如果bat文件运行就闪退。说明有错误。可以用cmd进入路径运行bat文件看报错。

    1.dos命令不区分大小写。

    2.子bat文件中可以访问父bat中的定义的变量,子bat修改变量后父bat中对应的变量也会改变。

    二、bat文件的创建:1.新建txt文本文件2.向文本文件中输入命令3.保存并修改文本文件后缀为.bat4.双击保存后的bat文件,双击可运行。

    三、bat命令大全:

    1.echo

    @                          #关闭单行回显

    echo off                   #从下一行开始关闭回显(就是执行的命令)

    @echo off                 #从本行开始关闭回显。一般批处理第一行都是这个

    echo on                   #从下一行开始打开回显

    echo                       #显示当前是 echo off 状态还是 echo on 状态

    echo.                      #输出一个”回车换行”,空白行

    2. errorlevel

    echo %errorlevel%

    每个命令运行结束,可以用这个命令行格式查看返回码

    默认值为0,一般命令执行出错会设 errorlevel 1, 例子:if not errorlevel 0 goto p

        

       3.dir

    dir                       #显示当前目录中的文件和子目录

    dir /a                    #显示当前目录中的文件和子目录,包括隐藏文件和系统文件

    dir c: /a:d              #显示 C 盘当前目录中的目录

    dir c: /a:-d             #显示 C 盘根目录中的文件

    dir c:\ /b/p             #/b只显示文件名,/p分页显示

    dir *.exe /s             #显示当前目录和子目录里所有的.exe文件

    4 cd

    cd\                       #进入根目录

    cd                        #显示当前目录

    cd /d f:\sdk            #可以同时更改盘符和目录 进入f盘 sdk目录

    批处理文件中 %cd%表示当前目录。会改变。

    5 md

    md d:\a\b\c               #如果 d:\a 不存在,将会自动创建中级目录

    #如果命令扩展名被停用,则需要键入 mkdir \a\b\c

    6 rd

    rd abc                    #删除当前目录里的 abc 子目录,要求为空目录

    rd /s/q d:\temp         #删除 d:\temp 文件夹及其子文件夹和文件,/q安静模式

    7 del

    del d:\test.txt            #删除指定文件,不能是隐藏、系统、只读文件

    del /q/a/f d:\temp\*.*   #删除 d:\temp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录

    del /q/a/f/s d:\temp\*.*   #删除 d:\temp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录

    8 ren

    ren d:\temp tmp           #支持对文件夹的重命名

    9 cls

    清屏

    10 type

    显示文件内容

    type c:\boot.ini          #显示指定文件的内容,程序文件一般会显示乱码

    type *.txt                #显示当前目录里所有.txt文件的内容

    11 copy

    拷贝文件

    copy c:\test.txt d:\test.bak

    复制 c:\test.txt 文件到 d:\ ,并重命名为 test.bak

    copy con test.txt

    从屏幕上等待输入,按 Ctrl+Z 结束输入,输入内容存为test.txt文件

    con代表屏幕,prn代表打印机,nul代表空设备

    copy 1.txt + 2.txt 3.txt

    合并 1.txt  2.txt 的内容,保存为 3.txt 文件

    如果不指定 3.txt ,则保存到 1.txt

    copy test.txt +

    复制文件到自己,实际上是修改了文件日期

    12 title

    设置cmd窗口的标题

    title 新标题              #可以看到cmd窗口的标题栏变了

    13 ver

    显示系统版本

    14 label  vol

    设置卷标

    vol                       #显示卷标

    label                     #显示卷标,同时提示输入新卷标

    label c:system        #设置C盘的卷标为 system

    15 pause

    暂停命令

    16 rem  ::

    注释命令

    注释行不执行操作

    17 date  time

    日期和时间

    date                #显示当前日期,并提示输入新日期,按\"回车\"略过输入

    date/t              #只显示当前日期,不提示输入新日期

    time                #显示当前时间,并提示输入新时间,按\"回车\"略过输入

    time/t              #只显示当前时间,不提示输入新时间

    18 goto  :

    跳转命令

    :label                标签:行首为:表示该行是标签行,标签行不执行操作

    goto label         #跳转到指定的标签那一行

       1.) 运行 Goto :eof 后,CMD 返回并将等待下一命令。 

        2.) 运行 Exit 后,CMD 将直接关闭并返回到曾启动 Cmd.exe 的程序或返回到“资源管理器”。

    19 find (外部命令)从文件中收索字符串  格式:find 参数 "字符串" 路径\文件名

    查找命令

    find \"abc\" c:\test.txt

     c:\test.txt 文件里查找含 abc 字符串的行

    如果找不到,将设 errorlevel 返回码为1

    find /i “abc” c:\test.txt

    查找含 abc 的行,忽略大小写

    find /c \"abc\" c:\test.txt

    显示含 abc 的行的行数

          参数: /V 显示所有未包含指定字符串的行。

          /C 仅显示包含字符串的行数。

          /N 显示行号。

          /I 搜索字符串时忽略大小写。

    20 more (外部命令)

    逐屏显示

    more c:\test.txt          #逐屏显示 c:\test.txt 的文件内容

    21 tree

    显示目录结构

    tree d:\                  #显示D盘的文件目录结构

    22 &

    顺序执行多条命令,而不管命令是否执行成功

    23 &&

    顺序执行多条命令,当碰到执行出错的命令后将不执行后面的命令

    find \"ok\" c:\test.txt && echo 成功

    如果找到了\"ok\"字样,就显示\"成功\",找不到就不显示

    24 ||

    顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令

    find \"ok\" c:\test.txt || echo 不成功

    如果找不到\"ok\"字样,就显示\"不成功\",找到了就不显示

    25 |

    管道命令

    dir *.* /s/a | find /c \".exe\"

    管道命令表示先执行 dir 命令,对其输出的结果执行后面的 find 命令

    该命令行结果:输出当前文件夹及所有子文件夹里的.exe文件的个数

    type c:\test.txt|more

    这个和 more c:\test.txt 的效果是一样的

    26 >  >>

    输出重定向命令

    清除文件中原有的内容后再写入

    >> 追加内容到文件末尾,而不会清除原有的内容

    主要将本来显示在屏幕上的内容输出到指定文件中

    指定文件如果不存在,则自动生成该文件

    type c:\test.txt >prn

    屏幕上不显示文件内容,转向输出到打印机

    echo hello world>con

    在屏幕上显示hello world,实际上所有输出都是默认 >con 

    copy c:\test.txt f: >nul

    拷贝文件,并且不显示\"文件复制成功\"的提示信息,但如果f盘不存在,还是会显示出错信息

    copy c:\test.txt f: >nul 2>nul

    不显示”文件复制成功”的提示信息,并且f盘不存在的话,也不显示错误提示信息Echo ^^W ^> ^W>c:\test.txt

    生成的文件内容为 ^W > W

     > 是控制命令,要把它们输出到文件,必须在前面加个 ^ 符号

    27 <

    从文件中获得输入信息,而不是从屏幕上

    一般用于 date time label 等需要等待输入的命令

    @echo off

    echo 2005-05-01>temp.txt

    date <temp.txt

    del temp.txt

    这样就可以不等待输入直接修改当前日期

    28 %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %*

    命令行传递给批处理的参数

    %0 批处理文件本身

    %1 第一个参数

    %9 第九个参数

    %* 从第一个参数开始的所有参数

     

    批参数(%n)的替代已被增强。您可以使用以下语法:

     

              %~1               - 删除引号(\"),扩充 %1

              %~f1              -  %1 扩充到一个完全合格的路径名

              %~d1              - 仅将 %1 扩充到一个驱动器号

              %~p1              - 仅将 %1 扩充到一个路径

              %~n1              - 仅将 %1 扩充到一个文件名

              %~x1              - 仅将 %1 扩充到一个文件扩展名

              %~s1              - 扩充的路径指含有短名

              %~a1              -  %1 扩充到文件属性

              %~t1              -  %1 扩充到文件的日期/时间

              %~z1              -  %1 扩充到文件的大小

              %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1

                            扩充到找到的第一个完全合格的名称。如果环境

                            变量名未被定义,或者没有找到文件,此组合键会

                            扩充到空字符串

     

    可以组合修定符来取得多重结果:

     

             %~dp1             - 只将 %1 扩展到驱动器号和路径

             %~nx1             - 只将 %1 扩展到文件名和扩展名

             %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1

                            并扩展到找到的第一个文件的驱动器号和路径。

             %~ftza1           -  %1 扩展到类似 DIR 的输出行。

    可以参照 call/?  for/? 看出每个参数的含意

    echo load \"%%1\" \"%%2\">c:\test.txt

    生成的文件内容为 load \"%1\" \"%2\"

    批处理文件里,用这个格式把命令行参数输出到文件

    29 if

    判断命令

    if \"%1\"==\"/a\" echo 第一个参数是/a

    if /i \"%1\" equ \"/a\" echo 第一个参数是/a

    /i 表示不区分大小写,equ  == 是一样的,其它运算符参见 if/?

    if exist c:\test.bat echo 存在c:\test.bat文件

    if not exist c:\windows (

              echo 不存在c:\windows文件夹

              )

    if exist c:\test.bat ( echo 存在c:\test.bat ) else (  echo 不存在c:\test.bat  )

    30 setlocal  endlocal

    设置”命令扩展名”和”延缓环境变量扩充”

    SETLOCAL ENABLEEXTENSIONS                  #启用\"命令扩展名\"

    SETLOCAL DISABLEEXTENSIONS                 #停用\"命令扩展名\"

    SETLOCAL ENABLEDELAYEDEXPANSION            #启用\"延缓环境变量扩充\"

    SETLOCAL DISABLEDELAYEDEXPANSION           #停用\"延缓环境变量扩充\"

    ENDLOCAL                                   #恢复到使用SETLOCAL语句以前的状态

    “命令扩展名”默认为启用

    “延缓环境变量扩充”默认为停用

    批处理结束系统会自动恢复默认值

    可以修改注册表以禁用\"命令扩展名\",详见 cmd /? 。所以用到\"命令扩展名\"的程

    序,建议在开头和结尾加上 SETLOCAL ENABLEEXTENSIONS  ENDLOCAL 语句,以确

    保程序能在其它系统上正确运行

    \"延缓环境变量扩充\"主要用于 if  for 的符合语句,在 set 的说明里有其实用例程

    31 set

    设置变量

    引用变量可在变量名前后加 % ,即 %变量名%

    set                          #显示目前所有可用的变量,包括系统变量和自定义的变量

    echo %SystemDrive%           #显示系统盘盘符。系统变量可以直接引用

    set p                        #显示所有以p开头的变量,要是一个也没有就设errorlevel=1

    set p=aa1bb1aa2bb2           #设置变量p,并赋值为 = 后面的字符串,即aa1bb1aa2bb2

    或者 set TOOL_HOME=%TOOL_HOME% %0   吧两个变量和中间的空客连在一起赋值给原变量

    echo %p%                     #显示变量p代表的字符串,即aa1bb1aa2bb2

    echo %p:~6%                  #显示变量p中第6个字符以后的所有字符,即aa2bb2

    echo %p:~6,3%                #显示第6个字符以后的3个字符,即aa2

    echo %p:~0,3%                #显示前3个字符,即aa1

    echo %p:~-2%                 #显示最后面的2个字符,即b2

    echo %p:~0,-2%               #显示除了最后2个字符以外的其它字符,即aa1bb1aa2b

    echo %p:aa=c%                #c替换变量p中所有的aa,即显示c1bb1c2bb2

    echo %p:aa=%                 #将变量p中的所有aa字符串置换为空,即显示1bb12bb2

    echo %p:*bb=c%               #第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2

    set p=%p:*bb=c%              #设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2

    set /a p=39                  #设置p为数值型变量,值为39

    set /a p=39/10               #支持运算符,有小数时用去尾法,39/10=3.9,去尾得3p=3

    set /a p=p/10                # /a 参数时,在 = 后面的变量可以不加%直接引用

    set /a p=1&0               #”与”运算,要加引号。其它支持的运算符参见set/?

    set p=                       #取消p变量

    set /p p=请输入

    屏幕上显示”请输入”,并会将输入的字符串赋值给变量p

    注意这条可以用来取代 choice 命令

    注意变量在 if  for 的复合语句里是一次性全部替换的,如

    @echo off

    set p=aaa

    if %p%==aaa (

              echo %p%

              set p=bbb

              echo %p%

              )

    结果将显示

    aaa

    aaa

    因为在读取 if 语句时已经将所有 %p% 替换为aaa

    这里的\"替换\",在 /? 帮助里就是指\"扩充\"\"环境变量扩充\"

    可以启用”延缓环境变量扩充”,用 ! 来引用变量,即 !变量名!

    @echo off

    SETLOCAL ENABLEDELAYEDEXPANSION

    set p=aaa

    if %p%==aaa (

              echo %p%

              set p=bbb

              echo !p!

              )

    ENDLOCAL

    结果将显示

    aaa

    bbb

    还有几个动态变量,运行 set 看不到

    %CD%                        #代表当前目录的字符串

    %DATE%                      #当前日期

    %TIME%                      #当前时间

    %RANDOM%                    #随机整数,介于0~32767

    %ERRORLEVEL%                #当前 ERRORLEVEL 

    %CMDEXTVERSION%             #当前命令处理器扩展名版本号

    %CMDCMDLINE%                #调用命令处理器的原始命令行

    可以用echo命令查看每个变量值,如 echo %time%

    注意 %time% 精确到毫秒,在批处理需要延时处理时可以用到

    32 start

    批处理中调用外部程序的命令,否则等外部程序完成后才继续执行剩下的指令

    当bat文件里启动系统自带的程序时,不需要注意路径问题,如果是本地安装的第三方程序,就要注意路径的问题。

    并注意bat指令的写法,比如说加上/d,并在程序路径上加上英文半角引号

    比如 start /d "D:\Program Files (x86)\Tencent\QQ\Bin" QQ.exe

    DOS批处理命令Start的使用介绍吗,使用start命令快捷启动程序_MayMatrix 的博客-CSDN博客_dos start命令

    /B 启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断
    该应用程序的方式

    set "LUA_BIN=lua53.exe"
          set "MAIN_LUA=main.lua"
          set "ARG1=args"
          set "ARG2=args"
          "%LUA_BIN%" "%MAIN_LUA%" "%ARG1%" "%ARG2%“

    也可以直接调用变量来调用程序并执行main方法。

    33 call

    批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行

    有时有的应用程序用start调用出错的,也可以call调用

    call 调用批处理命令时如果有参数可以将参数写在 命令后面  call b.bat %0 world

    call 后面也可以跟标签 如 call :xx  执行完标签内容后继续执行call下面的,这是与goto的区别

    34 choice (外部命令)

    选择命令

    让用户输入一个字符,从而选择运行不同的命令,返回码errorlevel1234……

    win98里是choice.com

    win2000pro里没有,可以从win98里拷过来

    win2003里是choice.exe

    choice /N /C y /T 5 /D y>nul

    延时5

    35 assoc  ftype

    文件关联

    assoc 设置'文件扩展名'关联,关联到'文件类型'

    ftype 设置'文件类型'关联,关联到'执行程序和参数'

    当你双击一个.txt文件时,windows并不是根据.txt直接判断用 notepad.exe 打开

    而是先判断.txt属于 txtfile '文件类型'

    再调用 txtfile 关联的命令行 txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1

    可以在\"文件夹选项\"\"文件类型\"里修改这2种关联

    assoc                 #显示所有'文件扩展名'关联

    assoc .txt            #显示.txt代表的'文件类型',结果显示 .txt=txtfile

    assoc .doc            #显示.doc代表的'文件类型',结果显示 .doc=Word.Document.8

    assoc .exe            #显示.exe代表的'文件类型',结果显示 .exe=exefile

    ftype                 #显示所有'文件类型'关联

    ftype exefile         #显示exefile类型关联的命令行,结果显示 exefile=\"%1\" %*

    assoc .txt=Word.Document.8

    设置.txtword类型的文档,可以看到.txt文件的图标都变了

    assoc .txt=txtfile

    恢复.txt的正确关联

    ftype exefile=\"%1\" %*

    恢复 exefile 的正确关联

    如果该关联已经被破坏,可以运行 command.com ,再输入这条命令

    36 pushd  popd

    切换当前目录

    @echo off

    c: & cd\ & md mp3             # C:\ 建立 mp3 文件夹

    md d:\mp4                     # D:\ 建立 mp4 文件夹

    cd /d d:\mp4                  #更改当前目录为 d:\mp4

    pushd c:\mp3                  #保存当前目录,并切换当前目录为 c:\mp3

    popd                          #恢复当前目录为刚才保存的 d:\mp4

    37 for

    循环命令

    这个比较复杂,请对照 for/? 来看

    for %%i in (c: d: e: f:) do echo %%i

    依次调用小括号里的每个字符串,执行 do 后面的命令

    注意%%i,在批处理中 for 语句调用参数用2%

    默认的字符串分隔符是\"空格键\"\"Tab\"\"回车键\"

    for %%i in (*.txt) do find \"abc\" %%i

    对当前目录里所有的txt文件执行 find 命令

    for /r . %%i in (*.txt) do find \"abc\" %%i

    在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行

    for /r . %%i in (.) do echo %%~pni

    显示当前目录名和所有子目录名,包括路径,不包括盘符

    for /r d:\mp3 %%i in (*.mp3) do echo %%i>>d:\mp3.txt

     d:\mp3 及其子目录里的mp3文件的文件名都存到 d:\mp3.txt 里去

    for /l %%i in (2,1,8) do echo %%i

    生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1

    for /f %%i in ('set') do echo %%i

     set 命令的输出结果循环调用,每行一个

    for /f \"eol=P\" %%i in ('set') do echo %%i

     set 命令的输出结果,忽略以 P 开头的那几行

    for /f %%i in (d:\mp3.txt) do echo %%i

    显示 d:\mp3.txt 里的每个文件名,每行一个,不支持带空格的名称

    for /f \"delims=\" %%i in (d:\mp3.txt) do echo %%i

    显示 d:\mp3.txt 里的每个文件名,每行一个,支持带空格的名称

    for /f \"skip=5 tokens=4\" %%a in ('dir') do echo %%a

     dir 命令的结果,跳过前面5行,余下的每行取第4

    每列之间的分隔符为默认的\"空格\"

    可以注意到 dir 命令输出的前5行是没有文件名的

    for /f \"tokens=1,2,3 delims=- \" %%a in ('date /t') do (

              echo %%a

              echo %%b

              echo %%c

              )

     date /t 的输出结果,每行取123

    第一列对应指定的 %%a ,后面的 %%b  %%c 是派生出来的,对应其它列

    分隔符指定为 - \"空格\",注意 delims=- 后面有个\"空格\"

    其中 tokens=1,2,3 若用 tokens=1-3 替换,效果是一样的

    for /f \"tokens=2* delims=- \" %%a in ('date /t') do echo %%b

    取第2列给 %%a ,其后的列都给 %%b

    38 subst (外部命令)

    映射磁盘。

    subst z: \server\d           #这样输入z:就可以访问\server\d

    subst z: /d                   #取消该映射

    subst                         #显示目前所有的映时

    39  xcopy (外部命令)

    文件拷贝

    xcopy a E:\testA

    a是个文件夹 执行的时候会询问testA是否为文件夹。

    xcopy a E:\testA\ 不会询问 表示testA已经是文件夹

     /I    如果目标不存在,且要复制多个文件,  则假定目标必须是目录

    ./S 复制目录和子目录,不包括空目录。

     /Q 复制时不显示文件名

    /E 复制目录和子目录,包括空的。

    /H 也复制隐藏和系统文件。

    /U 只复制已经存在于目标中的文件。

    /T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。

    /L 显示要复制的文件

    /y 直接覆盖

    /c 即使有错误,也继续复制

    /R 覆盖只读文件

    echo D | xcopy a  E:\a /S /Q 表示把D 用管道符 传给xcopy用来当询问时的输入

    与copy的区别:

    copy不能在有子目录存在的文件中拷贝文件的同时重命名此文件名。

    copy a.txt asda\b.txt  其中asda不存在则不能copu,耳xcopy能

    copy命令能合并两个文件,而xcopy不能 copy /b c:\1.txt+2.txt c:\3.txt

    40.在DOS中,有着两种创建链接的方法:快捷方式和链接。

        快捷方式应该是使用得比较多的了,它其实是一个后缀名为.lnk的文件,其在BAT脚本中创建的方式是通过VB来进行创建,具体代码如下:

    :CreateShort

    mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=

    a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")

    这段代码相当于创建了一名为CreatShort的函数,然后可在bat脚本中通过

     call :CreateShort "目标文件的地址" "想要创建的快捷方式文件"

    的方式来进行调用,比如使用下列脚本便可创建一个test的文件夹以及与之对应的快捷方式文件,

    @echo off
    md test
     
    call :CreateShort "%CD%\链接" "链接"
    pause
    goto :eof
     
    :CreateShort
    mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(""%~2.lnk""):b.TargetPath=""%~1"":b.WorkingDirectory=""%~dp1"":b.Save:close")
    将上述脚本复制便到文本文档并将文件的后缀名改为bat再双击执行,便可在当前目录下创建一个“链接”文件夹以及与之对应的快捷方式文件。

    二、链接的方式

    链接的方式与Linux下的ln命令很像,这是官网的解释:

    mklink [[/d] | [/h] | [/j]] <Link> <Target>


    Parameters
    Parameter    Description
    /d Creates a directory symbolic link. By default, mklink creates a file symbolic link.表示软连接

    /h Creates a hard link instead of a symbolic link.

    /j Creates a Directory Junction.

    <Link> Specifies the name of the symbolic link that is being created.

    <Target> Specifies the path (relative or absolute) that the new symbolic link refers to.

    /? Displays help at the command prompt.

    其可分为符号链接和硬链接,而符号链接让我感觉和Linux下得软连接很像,它最主要的作用是把C盘的文件软链接到别的盘中,从而使C盘不会太满;

    也可用于同步文件,其中硬链接只能链接文件,符号链接可以连接文件夹。

    https://blog.csdn.net/qwe15954250805/article/details/80641735 

    Tzutil.exe是Windows 7中新增的命令行工具,作用是设置系统时区,因为其功能非常单一,很少受到人们的注意,今天我简单看了下该命令的帮助,它似乎只有三个功能:

            tzutil.exe

            /g   显示当前系统所用时区

            /s    更改时区设置(命令格式可以看红框里的例子)

            /l     显示系统中可用的时区列表

    tzutil /l > aa.txt 将列表输出到aa。txt文件中,没有回创建aa。txt

    tzutil /s  Aleutian Standard Time(列表中的文件)

    %~dp0 : %~dp0是批处理文件所在的盘符:+路径  用在批处理文件中 

    %0,指的是当前脚本,而~代表各种扩展,如下:  "C:\Users\lihaotianpc\Desktop\文档\xx.bat"

    %~f0 将 %0 扩展到一个完全合格的路径名   C:\Users\lihaotianpc\Desktop\文档\xx.bat

    %~d0 仅将 %0 扩展到一个驱动器号            C:

    %~p0 仅将 %0 扩展到一个路径                  \Users\lihaotianpc\Desktop\文档\

    %~n0 仅将 %0 扩展到一个文件名               xx

    %~x0 仅将 %0 扩展到一个文件扩展名      .bat

    %~s0 扩展的路径只含有短名                  C:\Users\LIHAOT~1\Desktop\文档\xx.bat

    %~a0 将 %0 扩展到文件的文件属性         --a------

    %~t0 将 %0扩展到文件的日期/时间        2020/05/14 15:44

    %~z0 将 %0 扩展到文件的大小                 245(就是数字 本实例代表245字节)

    %1,代表传给脚本的第一个参数, 不会删除双引号

    %~1,也代表第一个参数,当参数以双引号开头时,%~1会自动将头和尾(如果有)的双引号删除,中间的不删除,单引号也不会删除。

    执行exe文件:"UnityMonoDevelopSetup.exe" /S /D=D:\Program Files\xxx\xxx

    /S 表示静默安装 
    /D 表示安装路径 不加默认安装路径
    "UnityMonoDevelopSetup.exe" 调用当前路径的这个exe

    exit: exit /b是用来退出批处理脚本的,而exit是用来退出解释器的;可以这么理解,exit /b 退出子进程,而exit则退出父进程,子进程结束不影响父进程的执行,但是父进程结束那就是彻底的结束。(当然,如果只有一个进程,exit /b也是能结束父进程的)。/b 后面跟的数字是 errorlevel

    shift:

    shift 命令通过将每个参数复制到前一个参数中,更改批处理参数 %0 到 %9 的值。也就是说,将 %1 的值复制到 %0,%2 的值复制到 %1,依次类推。该命令在撰写对任何数目的参数执行相同操作的批处理文件时非常有用。

    使用 10 个以上的批处理参数

    也可以使用 shift 命令创建可以接受 10 个以上批处理参数的批处理文件。如果在命令行上指定了 10 个以上的参数,第十个 (%9) 参数之后的参数将更改为 %9,一次更改一个。

    将 shift 命令行选项与命令扩展一起使用

    启用命令扩展(默认设置)后,shift 命令支持 /n 命令行选项,该选项通知命令在第 n 个参数处开始更改,n 可以是 0 到 8 的任何一个值。例如,

    SHIFT /2

    可以将 %3 改为 %2,将 %4 改为 %3 等等,而 %0 和 %1 保持不变。

    恢复参数

    没有反向的 shift 命令。执行了 shift 命令后,不能恢复更改前存在的第一个批处理参数 (%0)。

    Shift 对 %* 批处理参数没有影响 : %* 表示从第一个参数开始的所有参数

    41. jps 查看运行的程序进程,或tasklist 

    42.taskkill  /pid  {pid} 根据pid结束进程。/im  立即 /f     强制结束进程

    43.查看占用8080端口的进程号:netstat –aon | findstr “8080”  或者 netstat –aon | find “8080”  ,可以使用命令 tasklist | findstr “ 6900”进一步查看 6900进程的具体信息, tasklist | findstr “6400” 或者  tasklist | find “6400”  

    展开全文
  • 首先要说明的是在Linux系统,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面我们来介绍gcc所遵循的部分约定规则。 一般 <br />.c为...
    首先要说明的是在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。而gcc则通过后缀来区别输入文件的类别,下面我们来介绍gcc所遵循的部分约定规则。 一般

    .c为后缀的文件,C语言源代码文件;
    .a为后缀的文件,是由目标文件构成的档案库文件;
    .C,.cc或.cxx 为后缀的文件,是C++源代码文件;
    .h为后缀的文件,是程序所包含的头文件;
    .i 为后缀的文件,是已经预处理过的C源代码文件;
    .ii为后缀的文件,是已经预处理过的C++源代码文件;
    .m为后缀的文件,是Objective-C源代码文件;
    .o为后缀的文件,是编译后的目标文件;
    .s为后缀的文件,是汇编语言源代码文件;
    .S为后缀的文件,是经过预编译的汇编语言源代码文件。

    详细说一下:

    1.以.a为扩展名的文件:
    #tar xv file.a
    2.以.z为扩展名的文件:
    #uncompress file.Z
    3.以.gz为扩展名的文件:
    #gunzip file.gz
    4.以.bz2为扩展名的文件:
    #bunzip2 file.bz2
    5.以.tar.Z为扩展名的文件:
    #tar xvZf file.tar.Z
    或 #compress -dc file.tar.Z | tar xvf -
    6.以.tar.gz/.tgz为扩展名的文件:
    #tar xvzf file.tar.gz
    或 gzip -dc file.tar.gz | tar xvf -
    7.以.tar.bz2为扩展名的文件:
    #tar xvIf file.tar.bz2
    或 bzip2 -dc file.tar.bz2 | xvf -
    8.以.cpio.gz/.cgz为扩展名的文件:
    #gzip -dc file.cgz | cpio -div
    9.以.cpio/cpio为扩展名的文件:
    #cpio -div file.cpio
    或cpio -divc file.cpio
    10.以.rpm为扩展名的文件安装:
    #rpm -i file.rpm
    11.以.rpm为扩展名的文件解压缩:
    #rpm2cpio file.rpm | cpio -div
    12.以.deb为扩展名的文件安装:
    #dpkg -i file.deb
    13.以.deb为扩展名的文件解压缩:
    #dpkg-deb --fsys-tarfile file.deb | tar xvf - ar p
    file.deb data.tar.gz | tar xvzf -
    14.以.zip为扩展名的文件:
    #unzip file.zip

    在linux下解压Winzip格式的文件
      要是装了jdk的话,可以用jar命令;还可以使用unzip命令。

    直接解压.tar.gz文件
      xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开。XXXX为文件名。 例如:
    $tar zxvf xxxx.tar.gz 各种压缩文件的解压(安装方法)

    文件扩展名 解压(安装方法)

    a
    ar xv file.a
    ------------------------------------
    Z
    uncompress file.Z
    ------------------------------------
    gz
    gunzip file.gz
    ------------------------------------
    bz2
    bunzip2 file.bz2
    ------------------------------------
    tar.Z
    tar xvZf file.tar.Z
    compress -dc file.tar.Z | tar xvf -
    ------------------------------------
    tar.gz/.tgz
    tar xvzf file.tar.gz
    gzip -dc file.tar.gz | tar xvf -
    ------------------------------------
    tar.bz2
    tar xvIf file.tar.bz2
    bzip2 -dc file.tar.bz2 | xvf -
    ------------------------------------
    cpio.gz/.cgz
    gzip -dc file.cgz | cpio -div
    ------------------------------------
    cpio/cpio
    cpio -div file.cpio
    cpio -divc file.cpio
    ------------------------------------
    rpm/install
    rpm -i file.rpm
    ------------------------------------
    rpm/extract
    rpm2cpio file.rpm | cpio -div
    ------------------------------------
    deb/install
    dpkg -i file.deb
    ------------------------------------
    deb/exrtact
    dpkg-deb --fsys-tarfile file.deb | tar xvf -
    ar p file.deb data.tar.gz | tar xvzf -
    ------------------------------------
    zip
    unzip file.zip
    ------------------------------------
    bzip2 -d myfile.tar.bz2 | tar xvf

    tar xvfz myfile.tar.bz2

    x 是解压
    v 是复杂输出
    f 是指定文件
    z gz格式
    **************************************************************************************

    gzip
    gzip[选项]要压缩(或解压缩)的文件名
    -c将输出写到标准输出上,并保留原有文件。
    -d将压缩文件压缩。
    -l对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小、压缩比、未压缩文件的名字
    -r递归式地查找指定目录并压缩或压缩其中的所有文件。
    -t测试压缩文件是正完整。
    -v对每一个压缩和解压缩的文件,显示其文件名和压缩比。
    -num-用指定的数字调整压缩的速度。
    举例:
    把/usr目录并包括它的子目录在内的全部文件做一备份,备份文件名为usr.tar
    tar cvf usr.tar /home
    把/usr 目录并包括它的子目录在内的全部文件做一备份并进行压缩,备份文件名是usr.tar.gz
    tar czvf usr.tar.gz /usr
    压缩一组文件,文件的后缀为tar.gz
    #tar cvf back.tar /back/
    #gzip -q back.tar
    or
    #tar cvfz back.tar.gz /back/
    释放一个后缀为tar.gz的文件。
    #tar zxvf back.tar.gz
    #gzip back.tar.gz
    #tar xvf back.tar
    展开全文
  • - 在仓库服务目录里有Hooks\pre-commit.tmpl文件,可将此文件更名为pre-commit.bat,然后将文件下面的批处理代码更改为下列代码。 - 在SVN服务器上 2. SVN客户端 客户端所做的修改只适用客户端...
  • 下面让IIS6支持caj文件格式下载:要为特定扩展名定义 MIME 类型,请按照下列步骤操作:1.... 在“扩展名”框,键入所需的文件扩展名(例如:caj,电子书文件)。 5. 在“MIME 类型”框,键入 application/oct
  • 编写批处理文件(扩展名为.bat)

    千次阅读 2015-12-05 17:12:40
    编写批处理文件(扩展名为.bat) 批措置的介绍 扩展名是bat(在Windows NT/2000/xp/2003/win 7也可所以cmd)的文件就是批措置文件。 首先批措置文件是一个文本文件,这个文件的每一行都是一条DOS呼吁(年夜部门时辰就...
  • 在资料夹上方有[ツール](工具)->[フォルダ オプション](资料夹选项)->[详细设定]->将[登录されている拡张子は表示しない]反选, 再OK, 便行了。...详情请参看下列网址。 http://support.microsoft.com/kb/882195/ja
  • 方法一(不提倡) 产生此问题的原因: ...生成的Excel根本不是Excel,只不过扩展名是xls而已,这是Excel的安全问题,所以打开的时候会提示"您尝试打开的**.xls文件格式与文件扩展名指定的格式不一致"。
  • IIS不能下载无扩展名文件解决方法

    千次阅读 2014-09-24 11:32:07
    在“扩展名”框,键入文件扩展名。  在“MIME 类型”框,键入与客户端计算机上所定义的文件类型完全匹配的说明。  注意 还可以为无扩展名或未定义 MIME 类型的文件创建 MIME 类型。要完成此操作,
  • 【单选题】Python源代码程序编译后的文件扩展名为( )。 【填空题】刀具半径补偿取消指令是( )取消刀具长度补偿的指令是( ) 【判断题】国家鼓励单位和个人对农产品质量安全进行社会监督。任何单位和个人都有权对违反...
  • 我一开始还一直想着把每个文件格式对应api的xlFileFormat的参数找到。。。以下方法很好,作为新手,我肯定要分享记录下来。 转载自:http://blog.csdn.net/g710710/article/details/21166453 !...
  • MFC之CFileDialog文件保存扩展名问题

    千次阅读 2009-09-10 11:23:00
    = _T(".map")) //判断文件扩展名  strPath += _T(".map");  break;  }  case 2:  {  if(strPath.Right(7) !=_T(".mapCfg") || strPath.Right(7) != _T(".mapCfg")) //判断文件扩展名  strPath += _T("....
  • 文件下载时,文件名为中文和含有特殊字符的综合解决方案 先来分析这个问题: 文件名含有特殊字符 文件名含有中文 文件名含有特殊字符 分析: 含有英文逗号,导致下载链接失效 含有特殊符号(< &...
  • 扩展名是.ps的PostScript文件详解

    千次阅读 2017-03-25 14:57:49
    排好广告、画册、年历后,需要把版面内容输出成PS文件,在把PS 文件拿去出片后,再拿去印刷,将设计的版面变成印刷品。 如何阅读ps文件  编者按——在INTERNET上查找资料的朋友可能会经常碰到*.ps文件,这些*....
  • 主要用如下的一个小例子,说明C#窗体中文件选择对话框OpenFileDialog与下列列表ComboBox的应用,点击“选择文件”按钮,就可以打开文件选择对话框OpenFileDialog,无论是多选文件与单选文件,都能够将选择的内容添加...
  • 原因是C盘内存不足,需要清理c盘文件。 长期剪辑后积累的文件在C盘这目录下(C:\Users\Ikaros\AppData\Roaming\Adobe\Common\Media Cache Files)保存,很占内存。 ↑users可能你的叫“用户”,Ikaros可能你的叫...
  • 在当前目录下查找包含 hello 字符串的 后缀名为 .c 的文件: find . -name "*.c" | xargs grep -H "hello" 附:(转) 1. Grep简介 Grep (global search regular expression(RE) and print out the line,全面...
  • 列出指定目录下所有扩展名为.txt的文件*/ /* System.out.println(file.isDirectory());当file是一个没有后缀文件时,这里会输出false.. * 系统并不是根据后缀区分该路径是文件还是文件夹,可是false为什么还...
  • 文件后缀与Mime类型对照表

    千次阅读 2018-03-19 20:05:48
    以下是一些文件后缀(扩展名)对应的MIME类型的一个对照表,方便iis或其他服务器对相应的文件进行解析。有些文件后缀名没有默认解析就出现上传后无法访问或者下载的问题,这个时候就要设置文件后缀对应的MIME...
  • 从当前目录开始查找所有扩展名为.txt的文本文件,并找出包含"test"的行 find ./ -type f -name "*.txt" | xargs grep "test
  • 默认名名探究精神的重要性体现在以下哪些方面?()如果采用偶校验,的目的可的扩0101010的校验位是(),0011011的校验位是()。语言源程译后人工智能在医学方面的角色有哪些。()经件的经接后利用人工智能来获取信息的...
  • 让同事在他们自己电脑上,都是可以打开的,就我的电脑不能打开,网上搜索了一系列方法,如改后缀名、用word工具修复、下载office补丁安装都不能解决。 后面无意找到的解决方法,与有类似经历...
  • U盘出现这种问题一般是由于感染了 Autorun病毒。这种病毒我遇到过很多次,之前win7系统时我没有管...①首先开启显示文件后缀名,打开此电脑—>查看—>文件拓展名(打勾) ②返回桌面创建两个文本档命名为“1...
  • 在IIS6新增可下载文件类型IIS 6.0 不能处理未知的 MIME 类型IIS6 只为对具有已知文件扩展名的文件的请求提供服务。如果请求内容的文件扩展名未映射到已知的扩展,则服务器拒绝请求。即IIS不支持未知文件扩展下载!...
  • C++源文件后缀名

    千次阅读 2017-09-20 17:26:18
    VC里用cpp作后缀名, 在GCC里默认采用C、cc、cxx作为后缀名 .cpp, .h (VS file) .cc, .h (GCC file)   C: 头文件后缀名: .h 源文件后缀名: .c   C++: 头文件后缀名: .h, ....
  • 头文件声明,源文件实现。编译的时候只对源文件处理,头文件可以很方便的互相引用。一般来说看头文件能知道这个类有哪些变量、函数。函数具体实现会在源文件写。...
  • 在html文件中运行php代码

    万次阅读 2016-01-21 18:35:27
    当访问一个网页时,服务器会根据文件扩展名来判断如何处理页面,一般来说,当检查到扩展名为htm或html时,服务器将文件直接呈现到浏览器端,不做任何处理;如果检测到扩展名是PHP、shtml、ASP或JSP等文件时,服务器...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,159
精华内容 46,063
关键字:

下列文件扩展名中