本帖最后由 pcl_test 于 2016-7-5 13:38 编辑
各位前辈好,本人菜鸟一名, 喜欢捣鼓,根据在网上的资料, 写了如下一段代码,功能 已经 达到, 但在这 过程中有一个疑问, 被 它折磨了很久, 后面突然灵机一动, 一个&就解决了,就是:del /q/f命令执行后,后面的命令 不能 连续执行,需用&连接才行, 但 后面 两条del又不需要,想知道 是 为什么,请各位解惑,谢谢.- @echo off
- title 文件移动/复制功能
- rem 根据ROBOCOPY 参数不同,功能不同,当前功能为将当前目录下的所有文件复制至指定并删除当前目录的所有文件
- rem by 1145846856
-
- set pa=H:\files
-
- copy 移动目录下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f "delims=" %%a in ('dir/ad/b') do rd /s/q "%%~a"
- del /q/f * & copy %temp%\移动目录下的文件.bat %~dp0
- del /q/f %pa%\移动目录下的文件.bat
- del /q/f %temp%\移动目录下的文件.bat
- ping 127.0.0.1 -n 6 >%temp%\null
- del %temp%\null
复制代码 下面是改进版,本来想直接在if 语句里给变量赋值, 就可以省很多代码,但是 值传不出来,不知何解- cho off
- title 文件移动/复制功能
- rem 根据ROBOCOPY 参数不同,功能不同,当前功能为将当前目录下的所有文件复制至指定并删除当前目录的所有文件
- rem by 1145846856
-
- set pa=H:\files
- echo.
- echo.
- @set /p inpa=当前默认目标目录是:%pa%,如需修改请直接输入按回车,不更改直接回车
-
- if "%inpa%" =="" (
- goto 1
- )else (goto 2
- )
-
-
- :1
- copy 移动目录下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f "delims=" %%a in ('dir/ad/b') do rd /s/q "%%~a"
- del /q/f * & copy %temp%\移动目录下的文件.bat %~dp0
- del /q/f %pa%\移动目录下的文件.bat
- del /q/f %temp%\移动目录下的文件.bat
- ping 127.0.0.1 -n 3 >%temp%\null
- del %temp%\null
- exit
-
- :2
- set pa=%inpa%
- copy 移动目录下的文件.bat %temp%
- ROBOCOPY %~dp0 *.* %pa% /s
- for /f "delims=" %%a in ('dir/ad/b') do rd /s/q "%%~a"
- del /q/f * & copy %temp%\移动目录下的文件.bat %~dp0
- del /q/f %pa%\移动目录下的文件.bat
- del /q/f %temp%\移动目录下的文件.bat
- ping 127.0.0.1 -n 3 >%temp%\null
- del %temp%\null
- exit
复制代码
|