写两个批处理文件,高手帮忙!

1:新建一个NUM.TXT文件,将1到100写入NUM.TXT每个数字占一行,如:
1
2
3
4
5
.
.
.
2:把当前目录下的所有文件都加上DOS前缀。

看看是不是这个,保存为bat文件运行
复制z盘的源文件,到d盘的目的文件文件夹,并以当前日期和时间命名
最后生成一个日志,不知道你什么意识?什么样的日志?
@echo off
for /f "tokens=1 delims= " %%i in ('date/t') do set var=%%i
for /f "tokens=1-3 delims=:" %%i in ('time/t') do set var=%var%/%%i:%%j
copy/y z:\源文件.exe d:\目的文件\%var%.exe
pause

批处理是可以做这一切滴,你也太小看扩展DOS了。
算D盘空间很简单,在CMD里打这个就可以知道

for /f "usebackq tokens=2 delims=录可" %i in (`dir /ad d:\`) do @echo %i

(那个`是反括不是',别抄错)
原理是利用DIR的显示结果,通过“录”和“可”两个字做分隔符号来将显示的结果划分开,取出剩余空间那一部分就可以了。利用环境变量或者临时文件,可以很方便的存储这些数据;用管道命令,也可以把结果当参数传给后续命令…… = =
不显示你的剩余空间你来找我= =
楼主表急,其他部分我正在写,先给你个希望^.^

工作忙昨天没在不好意思,今天继续写
176229432 工作时间在线

说一个关键问题:
用DIR /OD /S能把当前目录和所有子目录下的文件排序,但是是在各自的子目录里排序,没法直接实现跨目录文件排序。如果用批处理实现可能很复杂,但是可以做。

下面是没有删除旧文件模块的批处理,已经全面测试过。
可以判断目标大小和本地目录空间,空间足够就COPY
使用方式: xxx.bat \\10.20.1.26\我的音乐
将会把目标目录下所有文件带子目录拷贝到‘当前’目录。
这里我没有去和1GB相比(= =|没时间了,稍后继续写)

@echo off
cls
echo Welcome using AmazingBAT!
echo Author:MakoSharp
echo -
echo -
if {%1}=={} goto usage
for /f "usebackq" %%i in (`cd`) do set myvar_dir=%%i\
dir /a | find "个目录" > 1temp1.txt
for /f "usebackq tokens=3" %%i in (1temp1.txt) do set myvar1=%%i
echo Your free space in d: is %myvar1% bytes.
pushd %1
dir /a | find "个文件" > %myvar_dir%1temp2.txt
for /f "usebackq tokens=3" %%i in (%myvar_dir%1temp2.txt) do set myvar2=%%i
echo Files on %1 takes %myvar2% bytes.
set myvar_exit=p1
goto compare
:p1
if %myvar_return% neq gtr goto p2
echo -
echo You have enough free space on d:.
echo Press any key to copy files to ...
pause
echo Copying files,please DO NOT close CMD until finish.
xcopy %1 %myvar_dir% /e /v /q /h /y
echo Done.
goto exit
:p2
echo -
echo You have NOT enough free space on d:.
echo Press any key to delete old files for space...
pause
rem -------here to sort and delete old files-----
echo Uncomplete part =_=
rem ---------------------------------------------
echo -
echo Done.
goto exit

:usage
echo Usage: amazingbat dir
echo dir:any directory in \\server
echo -
goto exit

:compare
set myvar1>%myvar_dir%1temp1.txt
set myvar2>%myvar_dir%1temp2.txt
dir %myvar_dir%1temp1.txt | find "个文件" > %myvar_dir%1leng1.txt
for /f "usebackq tokens=3" %%i in (%myvar_dir%1leng1.txt) do set myvar_leng1=%%i
dir %myvar_dir%1temp2.txt | find "个文件" > %myvar_dir%1leng2.txt
for /f "usebackq tokens=3" %%i in (%myvar_dir%1leng2.txt) do set myvar_leng2=%%i
if %myvar_leng1% gtr %myvar_leng2% goto gtr
if %myvar_leng1% lss %myvar_leng2% goto lss
rem var1&var2 has the same length.
rem parse vars and compare
for /f "tokens=1,2,3,4,5 delims=," %%i in ("%myvar1%") do (
set myvar11=%%i
set myvar12=%%j
set myvar13=%%k
set myvar14=%%l
set myvar15=%%m )
for /f "tokens=1,2,3,4,5 delims=," %%i in ("%myvar2%") do (
set myvar21=%%i
set myvar22=%%j
set myvar23=%%k
set myvar24=%%l
set myvar25=%%m )
if %myvar11% gtr %myvar21% goto gtr
if %myvar11% lss %myvar21% goto lss
if %myvar12% gtr %myvar22% goto gtr
if %myvar12% lss %myvar22% goto lss
if %myvar13% gtr %myvar23% goto gtr
if %myvar13% lss %myvar23% goto lss
if %myvar14% gtr %myvar24% goto gtr
if %myvar14% lss %myvar24% goto lss
if %myvar15% gtr %myvar25% goto gtr
if %myvar15% lss %myvar25% goto lss
goto equ

:gtr
set myvar_return=gtr
goto back

:lss
set myvar_return=lss
goto back

:equ
set myvar_return=equ
goto back

:back
rem release source
for /l %%i in (1,1,5) do set myvar1%%i=
for /l %%i in (1,1,5) do set myvar2%%i=
goto %myvar_exit%

:exit
rem release resoure here
popd
set myvar1=
set myvar2=
set myvar_leng1=
set myvar_leng2=
set myvar_return=
set myvar_exit=
set myvar_dir=
if exist %myvar_dir%1temp1.txt del %myvar_dir%1temp1.txt
if exist %myvar_dir%1temp2.txt del %myvar_dir%1temp2.txt
if exist %myvar_dir%1leng1.txt del %myvar_dir%1leng1.txt
if exist %myvar_dir%1leng2.txt del %myvar_dir%1leng2.txt
rem close
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-12
1.
@echo off
copy NUL>d:\num.txt //新建一个num.txt文件位于D盘根目录下//
for /l %%i in (1,1,100) do echo %%i>>d:\num.txt
2.
@echo off
dir /b>mz.txt
for /f %%i in (mz.txt) do echo %%i & ren %%i dos%%i & del dosmz.txt本回答被提问者采纳
相似回答
大家正在搜