DOS命令的特殊字符如何用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DOS命令的特殊字符如何用相关的知识,希望对你有一定的参考价值。

请问在MS-DOS下,\和/怎么用啊?他们有什么特定意义?谢谢啦!我的QQ:329359084

——dir

前面我们说过,在DOS下我们用输入命令的方式来指挥电脑工作。那么把我们想说的话输入到电脑里,电脑就能明白吗?

显然这样是不行的,DOS下的电脑只能明白一些特殊的英文命令的含义,只有你输入这些命令,电脑才会听你的指挥,否则它只会傻傻地说:“Bad command or file name.”这是在说它搞不懂你说什么。那么,DOS下的命令有哪些呢?

DOS的命令分为内部命令和外部命令,内部命令是随command.com装入内存的,而外部命令是一条一条单独的可执行文件。

内部命令都集中在根目录下的command.com文件里,电脑每次启动时都会将这个文件读入内存,也就是说在电脑运行时,这些内部命令都驻留在内存中,用dir是看不到这些内部命令的。而外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,它们并不常驻内存,只有在电脑需要时,才会被调入内存。

我们先来看几个最常用的命令,以便对DOS命令有更深的了解。DOS下使用频率最高的命令莫过于dir命令了,dir是英文单词directory(目录)的缩写,主要用来显示一个目录下的文件和子目录。

我们可以试着在提示符后输入dir,再按Enter回车键,无所谓大小写,如果输入错误了,可以按Backspace键来修正。如果你的当前目录下有很多文件或子目录,会发现内容还没有看清楚,就哗的一下滚过去了?

别着急,想看清楚还不简单,dir命令是可以带参数的,键入dir/p试试看,看,这先计算机在显示完一屏内容后,停了下来。

看到最后的一行英文没有,这行英文的意思是:如果你看完了这一屏,随便敲一个键就可以看下一屏。那就敲个键试试,随便哪个都行。 好,是不是换了一屏怎么样,是不是很方便呢?

如果你觉得用dir/p分屏显示还是太麻烦,你用这个命令试试,从键盘上输入dir/w试试看。这回所有文件在一屏内都显示出来了,但好象少了点什么,原来文件的大小和生成时间都被省略了。如果你只想知道目录内有什么文件和子目录,而不关心文件的生成时间和大小的话,那么使用dir/w,以短格式方式显示是不错的选择。

dir命令不但可以查看目录中有什么文件,还可以查看目录中某个文件的信息,例如输入dir abc,就是查看当前目录中文件abc的信息,包括它的大小和生成时间。

如果执行dir abc后,显示是“File not found.”则说明当前目录中没有abc这个文件,所以还可以用dir命令来查找文件。比如用dir命令查找当前目录中是否有win.com这个文件,只要输入dir win.com。

dir命令不但可以查找和显示一个特定的文件,还可以显示一类文件。例如输入dir *.bat,显示的就是所有扩展名是bat的文件。看下图

那这里的*是什么意思呢?在DOS命令中,*在文件名中出现是代表任意字符的意思。例如,A.*就代表了文件基本名是A,扩展名是任意的所有文件。那么dir a.* 就是把文件基本名是a的所有文件都显示出来。如果用dir A*.*,将会出现什么结果呢?结果是显示了文件基本名以A开头的所有文件。再深入一点,dir *.*是什么意思呢?在这里文件基本名和扩展名都是任意的,那就等于代表了所有文件,所以这和只输入dir的作用是相同的。

因为*可以代替任意字符,所以我们称之为通配符。其实通配符不只*一个,现在我们再来看看另一种通配符----?。

?通配符和*的区别是什么呢?*可以代替文件名中的多个字符,而?只能代替文件名中的一个字符。比如a*.*是代表所有文件基本名以a开头的文件,而a?.*是代表文件基本名只有两个字符,并且第一个字符是a的所有文件,同理a??.*是代表文件基本名只有三个字符,并且第一个字符是a的所有文件。

两者还有一个区别,在文件名中出现*后,其后的所有字符都不起作用,比如A*.*和a*b.*是没有任何区别的,但A*.*和A*.com就不一样了,因为中间隔了一个分隔符,*的作用不能超过分隔符。

在作用不超过分隔符这一点 上,?和*是一致的,但是,无论在文件基本名或扩展名中出现在?后,后面的字符仍然起作用。例如,a?.bat和a?b.bat是不同的意思,前者代表了文件扩展名是bat,而文件基本名是两个字符,且第一个字符是a的所有文件,后者代表了文件扩展名是bat,而文件基本名是三个字符,且第一个字符是a,第三个字符是b的所有文件。

最后再讲一点吧,都差点忘了这个小问题了。在使用通配符时,文件基本名和扩展名中最多只能各出现一个*,而?可以在不超过文件名和扩展名长度的前提下出现多个。 例如:这三个文件名a???.b??、 a????b?.?c?及??a?b??c.??d 都是可以的。
——cd

我们已经使用过cd命令,大家肯定还记得吧。cd是英文change directory(改变目录)的缩写,也是最常用的命令之一。顾名思义,如果想要进入一个目录,显然该采用这个命令了。

在讲cd命令之前,我们先来谈谈提示符是什么意思。现在的提示符是c:\>

这个c:说明现在的工作盘是c盘,即当前盘是硬盘。这个紧接着c:后面的\告诉我们,当前的工作目录是根目录。这个>的作用只是为了把工作目录和我们要输入的命令分隔开来,没有其它的意义。这样,我们就可以从提示符上看出当前的工作盘和工作目录是什么,你如果清楚了这一点,那么学习cd命令就变得轻松自如了。

好,现在我们想进入dos目录,该怎么办呢?对了,直接输入cd dos就行了。

你注意,提示符变了,变成 c:\dos>了。这就告诉我们,我们当前的工作目录是c盘根目录下的dos子目录。 如果想退回上一层目录,就键入cd ..,看提示符又变回来了。是不是很简单呢?进入子目录就输入cd+空格+子目录名,想返回上一层目录,就输入cd ..(两点)。

现在你来练习一下,要进入windows子目录,怎么办?当然是输入cd windows。 在windows目录下,还有一个子目录:system,再进去看看,输入cd system,好,暂停一下,这时我想要返回到根目录,这该怎么办?用cd ..吗?那当然可以,不过得用两次。我们有更好的办法,其实只需键入cd\三个字符可以一下子就回到根目录,自己试试吧。

cd命令的用途就是让我们可以到任何一个目录去。我们把不同功能的文件分别安排在不同的目录内,是为了管理方便,可是当我们要使用某个文件时,我们就得到该文件所在的目录中去。 比如说,要使用wps,就要到wps所在的目录;要用windows,就要到windows所在的目录。事实上,你学会了cd命令,你就可以到达磁盘中的任何一个目录了。不过有一点提醒你注意,如果想要到非当前磁盘的某个目录时,要先输入盘符,回车后,等当前盘变为另一个磁盘时,你才可以使用cd命令到达你想要去的目录。

——md和rd

不知你想过没有,磁盘上的这些目录都是哪来的呢?其实,这些目录都是我们自己建立的,我们建立这些目录的目的,就是为了分类组织文件,如果我们有一类新的文件,就需要再建立一个新的目录。今天我们要学的两个命令就是进行目录操作的,它们是md(make directory--创建目录)和rd(remove directory--删除目录)。

这两个命令很简单,比如我叫小博士,我要把自己的文件都放在一个目录中,我就可以输入md xbs,建立我的目录。这时你用dir命令看一看,就会发现根目录下多了一个目录XBS。

你不妨练习一下,建立一个名字叫xyz的目录,再输入dir,是不是可以看到xyz目录啦,如果你看到了,你就成功了(呵呵,这课也就完成一半了)。现在让我们到这个目录中去,键入cd xyz,注意,提示符是不是变了。好,输入dir命令。很奇怪是吧?我们刚刚建立了这个目录,按理说,这个目录中应该什么都没有的。其实,不管你建立什么目录,这个. 和 .. 都会在目录中出现,因为. 代表此目录本身,.. 代表此目录的上一层目录。显然,一个目录既然已经存在了,就不可能没有本身,也不可能没有上一层目录。(..你使用过的,记得吗?就是cd ..,用来返回上一层目录)。

再练习一次,在xyz目录下建立一个目录:abc,(正确方法是输入md abc)用 dir命令看一下,abc目录显示出来,就说明你已经成功学会建目录了。

既然能建立目录,当然也就可以把它删除,rd命令就是干这活的。比如想把abc目录删除,输入rd abc就可以了。不信再用dir命令看看,abc目录是不是没了。是不是很简单,要删除当前目录下的某个子目录,输入rd空格加上子目录名就可以完成任务。

不过使用RD命令可得注意几点问题(要不然你删一辈子也别想删除某些目录),好好看看下面几点吧:

现在你再练习一次(这次你成功了,就胜利出师了,可以安心学下一课了),如果想删除你现在所在的xyz目录,该怎么办呢?

正确答案:输入cd ..命令退回到上一层目录,再输入rd xyz将xyz目录删除。

——copy

copy在英文中是复制的意思,所谓复制就是原来的文件并没有任何改变,重新产生了一个内容和原来文件没有任何差别的文件。下面是copy命令的格式及及该注意的一些问题:

现在让我们来看一个例子,根目录下有一个文件叫做 autoexec.bat,如果我们想将它复制一份叫做autoexec.old,就可以输入copy autoexec.bat autoexec.old 键入dir,除原有的autoexec.bat文件外,出现了一个autoexec.old文件,而且这两个文件的大小都一样。

如果我们想把dos目录下的edit.com复制到当前目录,就从键盘上敲入 copy c:\dos\edit.com(注意,省略了目的目录名和文件名),源文件名是C盘根目录下dos目录中的edit.com文件。在这里指出了所在的驱动器及目录,而目的文件被省略了,这表示将文件复制到当前目录中,名字不变,也是edit.com。

如果你想把文件复制到另一个驱动器,比如说复制到A盘上,可以输入 copy edit.com a:(得记住往A驱动器里插磁盘哦)。

copy命令也可以使用通配符,例如要复制A盘上以K开头的所有文件,可以输入copy a:k*.*,如果要复制C盘根目录下所有扩展名是bat的文件到zht目录里,可以输入copy c:\*.bat c:\zht。

复制文件的主要目的有两条,一是为重要的文件作一个备份,以免被删除后追悔莫及;二是在不同计算机之间交换信息,你可以将你的工作成果复制到软盘上,交给你的上司、同事,也可以把它带回家里。 最后要提一句的是,拷贝文件和复制文件是没有任何区别的,拷贝是copy的音译。

——del

del即delete(删除)的缩写,显然它的作用就是“干破坏”删除文件。

复制文件有点复杂,删除文件就很简单了。你看,如果我要删除a.bat文件,输入del a.bat就可以完成任务。

简单吧,del命令的格式就是如此简单:del 文件名。 要删除当前目录中的某个文件,输入del空格再加上文件名就可以了。现在你可以试着试删除不要的废文件了。

要删除一类文件,可以使用通配符。例如del *.tmp,就是把所有扩展名是tmp的文件都删除。

你也可以删除当前目录中的所有文件,命令很简单:del *.*或del .。

这时计算机会告诉你此目录的所有文件都将被删除,同时问你是否继续,

如果你不想删除,输入n(no),如果你确实要删除,输入y(yes)。

del *.*或del .一般用于在删除子目录之前,先删除目录中的所有文件。(记住,初学者慎用)

del命令还可以删除非当前目录中的文件,例如del a:\bmp\sea.bmp,就是把A盘上bmp目录下的sea.bmp文件删除。你可以试着删除C盘temp目录内的所有文件,正确方法是输入del c:\temp\. 或 del c:\temp\*.*,然后再输入y。

删除无用的文件,可以使磁盘的可利用空间增大。但在删除文件之前,你最好知道此文件的用途,确定没有用之后,才可以删除,否则追悔莫及。尤其使用del .和del *.*时要更加注意,因为一个目录中的文件都将被删除。

——ren和type

如果想给一个文件改个名字,可以用ren(rename)命令。ren命令的格式是:ren 源文件名 目的文件名。

例如把abc.txt改成bne.dat,就可以输入ren abc.txt bne.dat。

  你可以试试看,再改回来,把bne.dat改名为abc.txt。abc.txt。 注意:如果用ren命令更改非当前目录中的文件名,那么源文件名和目的文件名要在同一个目录内。

讲了这么多关于文件的操作,是不是还没见过文件长什么样?学完下面这个type命令,你就可以知道文件里写了什么东西。

type命令的格式就是:type 文件名。比如说,我想知道abc.txt文件的内容,就从键盘上输入type abc.txt 。

现在你可以试着操作一下,看看各个文件里有些什么东西,是不是很有成就感。好了,你已经掌握了type命令,不过我还想提醒你一下,除了文件扩展名是txt的文件,对其它文件你最好不要使用type命令,否则屏幕上可能会出现很多怪模怪样的符号,还会嘀嘀地乱叫,弄得你心烦意乱。

——format

现在用电脑的人都知道软盘,但你知道新买来的软盘是不能直接使用的吗?(这概念有点过时,因为现在有很多厂家生产的软盘都先帮你格式化过,不过这命令还是不能不学,因为太有用)新买的软盘你既不能用copy命令向软盘上复制文件,也不能用dir命令查看软盘上的内容,甚至从键盘上输入A:都会引起错误。这是为什么呢?

因为软盘在使用前需要先格式化,在软盘上作出许多位置标记,然后才能向上面填写数据和文字,这就好象在一张白纸上画格子,然后再在这些格子中写字一样。这个在软盘上打格子的过程,就叫格式化。给软盘格式化,要使用format命令。

format命令的格式很简单: 格式化A盘,就是format A:,格式化B盘,就是format B:。

请你看一个例子,从键盘上输入format A:

这时计算机就让你在A驱动器中插入磁盘

你插入磁盘后,按一下回车键,计算机就开始对软盘进行格式化。 屏幕上显示已经完成的百分比

格式化完成之后,出现提示让你给磁盘起一个名字。你可以输入你喜欢的名字,也可以直接敲回车不输入名字。

接下来,计算机会向你报告磁盘的总空间和可利用空间,

如果总空间和可利用空间相等,说明磁盘空间全部是好的。如果可利用空间小于总空间,说明有一部分磁盘坏了。

看到最后一句话没有,这是计算机问你是不是还要格式化其他软盘,如果你只需格式化这张软盘,就键入N,如果还要格式化其他软盘,就键入Y。

现在你可以练习一下,格式化一张无用的软盘看看自己掌握怎样。

有一件事必须告诉你,如果要格式化的不是新盘,format命令会把磁盘上的所有文件都删除掉,所以在格式化之前,你要确认磁盘中的内容全都是无用的,否则将会给你带来很大损失。切记:不要尝试对硬盘使用format命令,除非你知道自己在干什么,否则你将丢失你电脑内的一切信息。

这些讲的很详细了,要是你还能加点分的话,我可以全部告诉你,呵呵 争取双赢哦!

最后来个总结吧,dir命令最大的用途就是让你了解磁盘到底都有些什么,还剩下多少存储空间。最后还有一个小窍门,如果你想知道A盘上都有什么,你不必先输入a:,变换当前驱动器为A盘后,再敲dir,你可以直接键入dir a:。不信试试看,千万别忘了插入软盘哟!

引用____--------
参考技术A 这些不能单独用。
“\”:用于指定路径时的分割符,如del c:\aa\ff.bat
“/”:多数用于参数调用,如:chkdsk /f

如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]

【中文标题】如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]【英文标题】:How to replace string by other strings if the source string contain special characters [duplicate] 【发布时间】:2018-08-01 05:14:51 【问题描述】:

为了清理一些字符串,我必须删除一些包含一些特殊 UTF-8 字符的子字符串。

示例:

source = "Skoda"
to_be_clean = "Škoda Rapid"

我需要从to_be_clean 替换字符串source。 显然,to_be_clean 字符串包含一些特殊字符。有没有办法简单地完成这项任务。 这就是我今天的做法。

output = to_be_clean.replace(source + ' ', '')

我正在考虑一个正则表达式,但我需要列出所有可能的字符。

【问题讨论】:

真的不清楚你想要什么。您是否希望找到一种方法使 "Škoda" 等于 "Skoda" 以便您可以删除它?关于从 Unicode 中删除重音有很多问题;你用谷歌搜索过吗? 【参考方案1】:

unicodedata 模块应该可以解决您的问题。

# -*- coding: utf-8 -*-

import unicodedata
to_be_clean = u"Škoda Rapid"

print unicodedata.normalize('NFKD', to_be_clean).encode('ASCII', 'ignore')

输出:

Skoda Rapid

【讨论】:

谢谢,正是我想要的。我实际上不知道 unicodedata 模块。谢谢

以上是关于DOS命令的特殊字符如何用的主要内容,如果未能解决你的问题,请参考以下文章

DOS 命令中怎样将一个特殊字符设置成普通符号

如何用js或则jquery过滤特殊字符

如何用sql向数据库中插入包含特殊字符的字

如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]

如何用tcl脚本替换字符串中的特殊字符?

如何用Linux 终端指令打开带有空格或特殊符号的目录