簡體   English   中英

如何在Windows命令提示符下增加命令行參數的大小或限制

[英]How do I increase command line argument size or limit in windows command prompt

嗨,我創建了一個JAVA程序,該程序使用ProcessBuilder啟動命令提示符,java將帶有一些參數的命令傳遞給控制台,然后命令提示符負責處理該命令,直到命令行參數過長為止,一切工作正常。 實際上,我使用phantomjs作為命令,並將多個url作為參數傳遞給命令提示符。 例如:Java生成的字符串-

phantomjs download.js --url=http://google.com, http://yahoo.com, http://website.com..................http://demo.com

當我傳遞100個URL時,它可以正常工作,但是當增加到1000個URL時,則它不起作用。 我知道,發生這種情況的原因是參數緩沖區的大小。 當我嘗試傳遞1000個URL時,它超過了Windows命令行的最大字節數限制。 因此,可以通過其他任何方式將此值傳遞到文件中,或者我們可以增加命令行參數的限制。

請給我一些解決方案。

為什么不只是將文件名作為參數傳遞呢? 目標文件包含網址列表(JSON.stringify或每行僅一個)

例如

var system = require('system');
var fs = require('fs');
var args = system.args;

if (args.length === 1) {
  console.log('download.js <filename>');
  phantom.exit(1);
} else {
    var filename = args[1];
    var stream = fs.open(filename, 'r') 

    var line;
    while(line=stream.readLine()) {
        //do want you want here
        console.log(line);
    }

    phantom.exit(0);
}

與運行

>phantomjs download.js mytestfile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM