中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何用P处理生成P处理? 上一主题 | 下一主题
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『楼 主』:  如何用P处理生成P处理?

我想实现用P处理生成大型P处理程序,我原来写的程序都是由N多小程序组成的,由一个主程序统一调用,代码也太杂乱,由于在P里面生成VBS,INF,INI,HTML,BAT等多种格式代码,一直没能用P生成.希望能帮忙的帮我实现下!~代码如下:

希望用P生成如下内容的P

原来的P是这样调用的  call 硬盘守护者.bat....
预先写好硬盘守护者.bat的代码,现在希望直接在P里面生成如下程序,别告诉我用>>来实现....

@echo       ****************************************************************
@echo       #                                                              #  
@echo       #                欢迎使用权限设置程序                     #
@echo       #                                                              #  
@echo       ****************************************************************
@echo.
@echo                           请输入以下选项前面的数字
@echo.
@echo            1,设置C:windows/system32访问权限       2,设置C盘访问权限   
@echo.
@echo            3,设置D盘访问权限  4,设置E盘访问权限   5,设置F盘访问权限
@echo.                                                           
@echo            6,设置U盘访问权限(需要将U盘插拔)       7,关于作者说明           
@echo.      
@echo            8,返回硬盘守护者    9,退出本程序         
@echo.                                                           
set /p UserSelection=输入您的选择(1、2、3、4、5、6、7、8、9 )
if "%UserSelection%"=="1" goto system32   
if "%UserSelection%"=="2" goto C
if "%UserSelection%"=="3" goto D
if "%UserSelection%"=="4" goto E   
if "%UserSelection%"=="5" goto F
if "%UserSelection%"=="6" goto U
if "%UserSelection%"=="7" goto zuozhe2
if "%UserSelection%"=="8" goto yinpan
if "%UserSelection%"=="9" goto here   
goto quanxian

:system32
@echo off
color 0A
cls
title 权限设置C:windows/system32--by 逍遥@浪子@
@echo       *****************************************************************
@echo       #                                                               #  
@echo       #           欢迎设置C:windows/system32访问权限             #
@echo       #                                                               #
@echo       # NTFS格式是WinXP推荐使用的格式。转换为NTFS格式能提高硬盘存储的 #  
@echo       #                                                               #  
@echo       # 效率,并可设置访问权限以保护文件。但NTFS格式的分区在DOS/WIN9X #
@echo       #                                                               #  
@echo       # 下均不能被识别,可能会给初级用户造成不便。如无必要请不要转换。#     
@echo       *****************************************************************
@echo.
@echo                            请输入以下选项前面的数字
@echo.
@echo       1,设置访问权限    2,解除权限限制   3,返回权限设置   4, 退出本程序
@echo.
set /p UserSelection=输入您的选择(1、2、3、4 )
if "%UserSelection%"=="1" goto xianzhi   
if "%UserSelection%"=="2" goto jiechu
if "%UserSelection%"=="3" goto quanxian   
if "%UserSelection%"=="4" goto here
goto system32



逍遥@浪子@反病毒
2007-12-10 17:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  



  Quote:
Originally posted by luckboy45 at 2007-12-10 17:41:
别告诉我用>>来实现....

开始吧,我就认为不就>> 原来楼主奇思怪想~,我没想到这种做法但是我应该做到了
@echo off
more +31 <"%~f0">%random%.bat
@echo       ****************************************************************
@echo       #                                                              #  
@echo       #                欢迎使用权限设置程序                     #
@echo       #                                                              #  
@echo       ****************************************************************
@echo.
@echo                           请输入以下选项前面的数字
@echo.
@echo            1,设置C:windows/system32访问权限       2,设置C盘访问权限   
@echo.
@echo            3,设置D盘访问权限  4,设置E盘访问权限   5,设置F盘访问权限
@echo.                                                           
@echo            6,设置U盘访问权限(需要将U盘插拔)       7,关于作者说明           
@echo.      
@echo            8,返回硬盘守护者    9,退出本程序         
@echo.                                                           
set /p UserSelection=输入您的选择(1、2、3、4、5、6、7、8、9 )
if "%UserSelection%"=="1" goto system32   
if "%UserSelection%"=="2" goto C
if "%UserSelection%"=="3" goto D
if "%UserSelection%"=="4" goto E   
if "%UserSelection%"=="5" goto F
if "%UserSelection%"=="6" goto U
if "%UserSelection%"=="7" goto zuozhe2
if "%UserSelection%"=="8" goto yinpan
if "%UserSelection%"=="9" goto here   
goto quanxian

:system32
@echo off
color 0A
cls
title 权限设置C:windows/system32--by 逍遥@浪子@
@echo       *****************************************************************
@echo       #                                                               #  
@echo       #           欢迎设置C:windows/system32访问权限             #
@echo       #                                                               #
@echo       # NTFS格式是WinXP推荐使用的格式。转换为NTFS格式能提高硬盘存储的 #  
@echo       #                                                               #  
@echo       # 效率,并可设置访问权限以保护文件。但NTFS格式的分区在DOS/WIN9X #
@echo       #                                                               #  
@echo       # 下均不能被识别,可能会给初级用户造成不便。如无必要请不要转换。#     
@echo       *****************************************************************
@echo.
@echo                            请输入以下选项前面的数字
@echo.
@echo       1,设置访问权限    2,解除权限限制   3,返回权限设置   4, 退出本程序
@echo.
set /p UserSelection=输入您的选择(1、2、3、4 )
if "%UserSelection%"=="1" goto xianzhi   
if "%UserSelection%"=="2" goto jiechu
if "%UserSelection%"=="3" goto quanxian   
if "%UserSelection%"=="4" goto here
goto system32




第一高手    第二高手

2007-12-10 18:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 3 楼』:  

呵呵,感谢楼上的朋友,我试后有用再来谢你!~



逍遥@浪子@反病毒
2007-12-10 19:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 4 楼』:  

实现是可以实现了,但光加 more +1 <"%~f0">%random%.bat
会生成随机6位.BAT,你这个+31貌似是从31行往下代码全部输出的意思

十分感谢你的热情回复,我的想法是出奇的怪,我的代码是生成好几个BAT的啊

看你这么热情的帮助我,希望我们能QQ上聊,我QQ:422547345

因为我写的P都是大型的,我将提供源代码给你,麻烦帮我实现生成就可以了,希望你能帮助我,我的朋友!~

[ Last edited by luckboy45 on 2007-12-10 at 08:14 PM ]



逍遥@浪子@反病毒
2007-12-10 20:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

想生成几个就echo...>>...几个,有何难处?



2007-12-10 20:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 6 楼』:  

不好意思我不聊QQ的



第一高手    第二高手

2007-12-10 21:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 7 楼』:  

汗...那么实现在太遗憾了,我看样子是无法写出那东西了....能拜托你写出代码么?

比如我啊要将从第2行将代码到第25行输出到123.BAT,将第26行到56行输出到456.BAT,将57行到90行输出到789.BAT

希望能不吝啬赐教,我是成心想学点东西,劳烦你能帮忙做下注释

我不需要点石成金的金子,而是需要那手指头,麻烦你了,我的朋友!~



逍遥@浪子@反病毒
2007-12-11 18:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by luckboy45 at 2007-12-11 18:57:
汗...那么实现在太遗憾了,我看样子是无法写出那东西了....能拜托你写出代码么?

比如我啊要将从第2行将代码到第25行输出到123.BAT,将第26行到56行输出 ...

参考:
http://www.cn-dos.net/forum/view ... ht=readline%2Blxmxn

2007-12-11 22:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 9 楼』:  

谢谢了,但我要的是输出指定行啊,你这个貌似是读取吧.....

再说,我是要程序在原程序里生成,不是要别的程序来调用啊...

真可惜自己不会VB,要是写VB的话,就可以自由调用了.....



逍遥@浪子@反病毒
2007-12-12 17:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 10 楼』:  

RE luckboy45:

这个还是可以集成进你自己的脚本当中去的,然后再call这个函数即可。

对于你说的

  Quote:
谢谢了,但我要的是输出指定行啊,你这个貌似是读取吧.....

加一个重定向符号就可以输入到指定的文件了。

2007-12-12 18:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 11 楼』:  

我要是有你这么厉害就不用来这里发贴了,对于你那个P,我也是半懂不懂的,我有你Q的,大哥,我是逍遥@浪子@,明天我会麻烦你帮我修改我的作品的,谢谢你的热情帮助,对于P处理,我懂点皮毛,还要向各位学习啊!~



逍遥@浪子@反病毒
2007-12-12 20:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: