[英]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.