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

[系统相关] 批处理最多可以定义多少个变量?

本帖最后由 pcl_test 于 2016-5-6 22:41 编辑

RT 批处理当中最多可以定义多少个变量?

回复 10# pcl_test


    如果仅仅是去重复,各种各样的算法有一大堆,我就想了解一下上述方法的局限性和解决方法

TOP

本帖最后由 pcl_test 于 2016-5-9 15:33 编辑

回复 9# ngd

去重问题 论坛一搜一堆

TOP

  1. for /f  %%i in (test.txt) do (
  2.     if not defined %%i (
  3.         set %%i=A
  4.         echo %%i>>result.txt
  5.     )
  6. )
复制代码
我有一个几百兆的文件,需要去重复行,如果用上面这段代码就不行了,超出了变量定义数量,但是这个文件有一个特点,重复行之间的间隔都不会超过500行,可否定义了500个变量之后开始把前面定义的变量循环释放掉

TOP

回复 6# ngd


    释放变量的方法是     set aaa=<nul       注意 <nul后面没有空格哦!

TOP

回复 6# ngd

set 变量=

TOP

怎样释放变量呢?

TOP

回复 3# ngd


    KB不是字节哦

TOP

如果按照2楼的说法,1024*65536/8192=8192 个变量,每个变量8192字节。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

回复 2# DAIC


    总变量字符65536个字节的话,肯定会超出的
怎样释放变量?

TOP

The maximum individual environment variable size is 8192bytes.
The maximum total environment variable size for all variables, which includes variable names and the equal sign, is 65,536KB.
http://technet.microsoft.com/en-us/library/bb490954.aspx

TOP

返回列表