【发布时间】:2016-11-22 09:42:30
【问题描述】:
我创建了一个如下所示的批处理文件,但这并没有隐藏在命令提示符 evev 中,尽管使用了 echo off。
我不希望 csv 文件或任何其他文件显示在命令提示符中。 它还显示在命令提示符下使用密码的警告是不安全的, 请帮帮我。
此批处理文件在命令提示符下运行时会生成 W P.xls 作为输出文件
@echo off
echo %1
echo SET @bdate := "%1"; > a.sql
copy /b a.sql + bdate.sql out.sql
mysql --user="root" --database="abc" --password="123" < "D:\New Folder\out.sql"
java -jar csvtoxls.jar
del out.sql
del ws.csv
rename "W P.xls" "W P"%1".xls"
jar 文件 导入 java.io.DataInputStream; 导入 java.io.FileInputStream; 导入 java.io.FileOutputStream; 导入 java.io.IOException; 导入 java.util.ArrayList;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class csv2 {
@SuppressWarnings("deprecation")
public static void main(String args[]) throws IOException {
ArrayList<ArrayList<String>> allRowAndColData = null;
ArrayList<String> oneRowData = null;
String fName = "C:\\New folder\\ws.csv";
String currentLine;
FileInputStream fis = new FileInputStream(fName);
DataInputStream myInput = new DataInputStream(fis);
int i = 0;
allRowAndColData = new ArrayList<ArrayList<String>>();
while ((currentLine=myInput.readLine()) != null) {
oneRowData = new ArrayList<String>();
String oneRowArray[] = currentLine.split(";");
for (int j = 0; j < oneRowArray.length; j++) {
oneRowData.add(oneRowArray[j]);
}
allRowAndColData.add(oneRowData);
System.out.println();
i++;
}
try {
HSSFWorkbook workBook = new HSSFWorkbook();
HSSFSheet sheet = workBook.createSheet("sheet1");
for (int i1 = 0; i1 < allRowAndColData.size(); i1++) {
ArrayList<?> ardata = (ArrayList<?>) allRowAndColData.get(i1);
HSSFRow row = sheet.createRow((short) 0 + i1);
for (int k = 0; k < ardata.size(); k++) {
System.out.print(ardata.get(k));
HSSFCell cell = row.createCell((short) k);
cell.setCellValue(ardata.get(k).toString());
}
System.out.println();
}
FileOutputStream fileOutputStream = new FileOutputStream("C:\\New folder\\W P.xls");
workBook.write(fileOutputStream);
fileOutputStream.close();
} catch (Exception ex) {
}
}
}
【问题讨论】:
-
这里的java有什么问题?
-
java 或 jar 文件没有问题,但 mysql --user="root" --database="abc" --password="123"
-
你可以把你的代码吗?
-
请告诉我如何在命令提示符下隐藏以下行的响应 cho SET @bdate := "%1"; > a.sql 复制 /b a.sql + bdate.sql out.sql mysql --user="root" --database="abc" --password="123"
-
可能是您在 java 中使用的方式造成了这个问题,所以只需输入您的代码,希望您明白我的意思:)
标签: java mysql batch-file