Board logo

标题: 如何用P处理生成P处理? [打印本页]

作者: luckboy45     时间: 2007-12-10 17:41    标题: 如何用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

作者: fastslz     时间: 2007-12-10 18:55
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

作者: luckboy45     时间: 2007-12-10 19:48
呵呵,感谢楼上的朋友,我试后有用再来谢你!~

作者: luckboy45     时间: 2007-12-10 20:13
实现是可以实现了,但光加 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 ]

作者: HAT     时间: 2007-12-10 20:32
想生成几个就echo...>>...几个,有何难处?

作者: fastslz     时间: 2007-12-10 21:05
不好意思我不聊QQ的

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

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

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

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

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

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

参考:
http://www.cn-dos.net/forum/viewthread.php?tid=28671&fpage=1&highlight=readline%2Blxmxn

作者: luckboy45     时间: 2007-12-12 17:31
谢谢了,但我要的是输出指定行啊,你这个貌似是读取吧.....

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

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

作者: lxmxn     时间: 2007-12-12 18:37
RE luckboy45:

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

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

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

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