我正在开发一个Windows批处理脚本,它只使用命令行工具(和开源/免费工具)创建一个完整硬盘的目录/文件列表,用于存档/编目。对于列表中的每个条目,我想列出文件名,它所在的目录,文件大小,日期a,文件的nd时间和md5总和。我已经能够创建一个有用的起点,但是因为我不确定是否甚至可以使用Windows中的命令行工具,所以我会碰壁。命令“dir / s / a:-d / o:-d / t:c”给了我一个很好的概述,但我希望这个概述以逗号分隔的格式显示(或保存到)。所以我的问题是:
提前感谢任何提示!
答案 0 :(得分:1)
你可以使用dir / s / a:-d / o:-d / t:c> slam.txt
然后,这个slam.txt的内容可以在Windows中由WScript处理,制作一个CSV文件......
如果您需要WScript ex,我可以提供一个吗?
答案 1 :(得分:0)
我知道这不是一个CSV示例 - 但它应该足够复杂以获得模式灵感:)
并记住此fil保存为.js
var what2lookfor = '<rect ';
var forReading = 1, forWriting = 2, forAppending = 8, jx = 0, ix = 0;
var triStateUseDefault = -2, triStateTrue = -1, triStateFalse = 0;
var thisRecord="", validFileTypes="js,xml,txt,php,xsl,css,htm,html" , akkum = "";
var fileArray = [];
var FSO = new ActiveXObject("Scripting.FileSystemObject");
var objFiles = FSO.GetFolder("F:\\xps1710\\jscript\\");
var objFileControl = new Enumerator(objFiles.files);
for (; !objFileControl.atEnd(); objFileControl.moveNext()) {
objFile = FSO.GetFile(objFileControl.item());
var ext = objFile.Name.split(".");
if (validFileTypes.indexOf(ext[1]) > 1) {
fileArray[ix] = "F:\\xps1710\\jscript\\" + objFile.Name;
ix++;
}
}
for (zx = 0 ; zx < ix ; zx++ ) {
var file2Traverse = FSO.OpenTextFile(fileArray[zx], forReading, triStateUseDefault );
while (!file2Traverse.AtEndOfStream) {
thisRecord = file2Traverse.ReadLine();
if (thisRecord.indexOf(what2lookfor) > 1 ) {
akkum = akkum + fileArray[zx] + '::' + thisRecord + '\n';
break;
}
}
}
WScript.Echo(akkum);