找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: 渣白

[文本处理] 求:怎么给bat设置一个使用权限,见内容

[复制链接]
发表于 2017-4-2 17:01:38 | 显示全部楼层
回复 14# 渣白


cscript slmgr.vbs /dti>step2.txt
cscript slmgr.vbs /ato>>step2.txt
cscript slmgr.vbs /xpr>>step2.txt
start step2.txt

这样可以吗?
 楼主| 发表于 2017-4-2 17:59:18 | 显示全部楼层
本帖最后由 渣白 于 2017-4-2 18:02 编辑

回复 16# ShowCode


    我试试。可以。但是我关闭批处理了那个txt没被删除,怎么弄 关闭了批处理并且删除弹出的txt

也就是txt生成的是临时文件
发表于 2017-4-2 20:40:50 | 显示全部楼层
回复 17# 渣白


cscript slmgr.vbs /dti>step2.txt
cscript slmgr.vbs /ato>>step2.txt
cscript slmgr.vbs /xpr>>step2.txt
start step2.txt
pause
del /f /q step2.txt
 楼主| 发表于 2017-4-2 21:45:26 | 显示全部楼层
回复 18# ShowCode

谢谢谢谢谢谢了兄弟
   我cmd 输入 del /? 哪里看到了



现在这个不是很懂↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
======================================================
我想用set /p "a=请输入48位数字:"



变量规定为 48位数字纯数字,无英文字母,无其他字符(空格,符号等)
纯数字无要求,可以0开头也可以重复,所以不用做任何规定

:loop
set /p "a=请输入48位数字:
set "a48=a:~48,1"
if %a48% neq ”“ echo 输入错误! goto loop
echo %a% | finldstr /i "A B C D E F G H I J K L N M O P Q R S T U V W X Y Z  , . * / - + ! @ $ % ^ & * ( ) : " < > ? " echo 输入错误! &&goto loop
echo 输入成功!
pause >nul&&exit

这是我自己的想法
if %a48% neq ”“ echo 输入错误! goto loop  这一步错了。。。然后就没想懂

评分

参与人数 1PB -30 收起 理由
pcl_test -30 勿重复发帖

查看全部评分

 楼主| 发表于 2017-4-3 10:03:30 | 显示全部楼层

一个有关授权码的跳转,见内容

本帖最后由 渣白 于 2017-4-3 10:05 编辑

@echo off
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IPv4"') do set ip=%%i
call :check 2>nul
if defined yip goto main
set /p input= 输入授权码:
if not defined input echo 输入错误!请重新输入!&&goto pwd
if not "%input%"=="%shouquanma%" echo 输入错误!请重新输入!&&goto pwd
(echo;
echo;:check
echo;set "yip=%ip%"
echo;
)>>%0
:main
echo hell world
echo.&pause&exit

先说一下要解决的问题↓↓↓↓↓↓↓↓↓↓↓
输入了授权码 显示了 hell world,想利用ip来确定是否在该机器上授权

%shouquanma%我利用了算法就不献丑了
if defined yip goto main 这一行改成了 if %yip%=%ip% goto main 就会闪退了
发表于 2017-4-3 12:51:25 | 显示全部楼层
用mac地址替换ip地址。
你用ipconfig /all 可以获取到。
 楼主| 发表于 2017-4-3 12:58:57 | 显示全部楼层
回复 21# taofan712


    自己试过了。。。没弄出来来,可否给个小示例
 楼主| 发表于 2017-4-4 11:34:27 | 显示全部楼层
@echo off
call :check 2>nul
if defined key goto main
:pwd
cls
set /p input= 输入授权码
if not defined input goto pwd
if not "%input%"=="shouquanma" goto pwd
(echo;
echo;:check
echo;set key=123
echo;goto :eof
echo;
)>>%0
:main
echo;hello word
echo.&pause&exit

这个我编译出exe 然后打开输入shouquanma 出现了hello world ,再次打开怎么还需要输入?

没办法做到首次要输入,然后就不用输入了 ? 无论哪台机子,第一次都要输入,然后就不用输入了
发表于 2017-4-9 07:52:34 | 显示全部楼层
可以考虑把授权信息写入注册表,启动bat后先读注册表的授权信息,有则直接运行,无则要求输入注册码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 22:17 , Processed in 0.017514 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表