电脑使用Tips

Dos命令

bat和cmd学习

bat和cmd的代码语法类似。这里我们默认都是bat文件

合并多个txt文件:

  • 首先新建一个记事本,在其中写入:type *.txt>>all.txt。然后保存为合并.bat(也就是批处理文件)。放到你的txt所在的文件夹内,双击就会出现合并好的all.txt文件。参考
  • 上面的 *.txt是采用通配符的操作,而实际上对于简单的,我们可以写成copy a.txt+b.txt mmm.txt/b,即合并 a.txt和b.txt得到一个mmm.txt。参考

bat定时关机 ,我搜了,无效。可能和系统有关,需要设定一些东西。

Dos命令

  • 参考资料
  • 搜索栏,输入cmd,得到C:\Users\hujie>,再后面输入dir,就得到当前目录下的所有文件
  • 一个点是当前目录,两个点是上一个目录。
  • 如果对命令用法不熟悉,输入cd /?或者dir /?就可以得到所有的用法信息,相当于help。
  • cd video表示进入当前文件目录下的video文件夹;cd ..表示回到上一个目录;cd \表示进入根目录
  • 任何目录下,输入cd "c: \user\toutiao\"都强制跳转到新输入的目录中(不要引号也可以)。
  • ver输出windows版本
  • time回车,得到当前时间,还有设置新时间的提示。
  • date和time一样的,要么显示当前,要么修改时间。
  • cls清除屏幕,相当于matla的clc
  • pause,输入这个命令之后,会提示你“按任意键继续”。否则程序执行完,一闪就消失了。
  • 打开exe文件。例子,桌面谷歌图标,邮件属性-快捷方式-目标,得到"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files 然后新建一个bat文件,第一行输入上面的这一长串(可以不要--allow-file-access-from-files ),第二行输入pause。保存之后,双击这个bat文件就会运行谷歌浏览器。

文件操作

  • copy,不知道怎么用用copy /?
  • copy calc.exe 1.exe 复制当前目录下的calc.exe的到当前目录,而且重新命名为1.exe
  • move 1.exe 2.exe 将当前目录下的1.exe移动为2.exe(其实是替换),当然可以增加移动到哪里的目录,而不是当前目录,这样就不会改变当面目录中的1.exe。
  • del 2.exe 删除刚才生成的 2.exe。(用dir查看结果) 注意这只是删除可执行文件的方法,不是删除文件夹的方法。
  • 复制文件copy calc.exe abc\1.exe 将当前目录下的calc.exe复制到abc目录(当前目录下的子目录)下的1.exe。
  • rd命令可以删除文件夹,C:>rd abc /S 删除c盘的abc文件夹,C:>rd abc /Q也是删除abc。不同之处在于/Q是安静模式,不需要确认。
  • ren重命名,ren calc.exe 1.exe将当前的calc.exe重命名为1.exe。(效果和move一样,见3)
  • 复制文件和目录树(可以理解为文件夹中含有文件夹)xcopy aaa c:\xyz 复制aaa文件夹到c盘根目录为xyz文件夹。如果包含空目录,那么命令末尾加上/E。

 

简单程序的编写

  1. 新建一个bat文件,echo off表示关闭后面的命令显示(不在DOS窗口显示,但是会运行,有结果就输出结果显示)。
  2. 默认的状态是echo on,显示所有的命令。
  3. @echo off 这一行自己也不显示了。@只对某一行作用。
  4. echo %temp% (echo是输出环境变量,%temp%是环境变量的格式) cd %temp% 进入环境变量目录。
  5. 环境变量是临时目录,里面有很多没用的东西可以清理。
  6. echo %username%得到的是hujie
  7. set abc=123回车,然后输入set回车(可以在一堆结果中找到abc),也可以输入set abc回车得到简洁的结果。如果set /A abc =3333,那么等于说重新赋值了。如果再次输入set /A abc=abc +1,那么得到的结果为3334。

例子-1

@echo off #不现实后面的代码 
dir %temp%
echo ENTER RENYI JIAN #按任意键开始 
pause 
rd %temp% /S /Q #不用确认/Q 
echo 删除完毕,按任意键显示 临时目录文件夹 
dir %temp% 
pause

例子-2

#展示输入一个数,输出这个数乘以2的结果#
@echo off     
echo Please input your number
set /P user= 
echo Your number is %user%    
set /A user=user*2
echo Your number times 2 is %user%
pause


#结果#
Please input your number
5
Your number is 5
Your number times 2 is 10
请按任意键继续. . .

例子-3-python和dos结合

#python程序 
import time 
time.sleep(3600) #等待3600后执行后续程序

import os 
os.system("AD.bat < aaa.txt > log") #调取aaa.txt中的文件到AD这个bat,DOS窗口显示的内容保存在log文件中

#DOS程序,实现输入两个数,输出两个数的结果 
@echo off 
echo Please input your number
set /P your= 
echo Your number is %your%

echo Please input his number 
set /P his= echo His number is %his%

set /A user=your*his echo
Your number times his humber is %user% 
pausec

 

参考资料:
(1) 如何在 Bat 文件中睡眠或等待 X 秒
(2) Python 调用 bat 文件,请问怎么传参

Leave a Reply