我已经有一个显示按文件类型排列的文件夹中的文件列表中选择一个批处理文件,图像文件:需要一个批处理文件,列出与尺寸
dir /b /o:gen>filelisting.txt
我想作一个.bat文件这也将显示图像的宽度和高度。有没有人有代码可以做到这一点,或比我能更好地理解这种类型的编程?
我已经有一个显示按文件类型排列的文件夹中的文件列表中选择一个批处理文件,图像文件:需要一个批处理文件,列出与尺寸
dir /b /o:gen>filelisting.txt
我想作一个.bat文件这也将显示图像的宽度和高度。有没有人有代码可以做到这一点,或比我能更好地理解这种类型的编程?
尝试将其保存为xxx.bat;
Dim oDir: Set oDir = CreateObject("Shell.Application").Namespace(Wscript.Arguments.Item(0))
For Each oFile In oDir.Items
wscript.echo oFile & " " & replace(oDir.GetDetailsOf(oFile,26), "x", "")
Next
从命令行
然后:
cscript c:\xxx.vbs "C:\whatever\My Pictures"
对我来说,产生;
a926_thumb 180 180
abstract1 2197 1374
backscreen 1024 1024
burgin_small 207 205
其中第一个数字是宽度&第二个高度。
对我来说,它仍然只显示文件。我也不得不把它保存为一个vbs文件而不是一个很好的bat文件 – WPAflight
这里有一个tooltipInfo.bat(JScript中\蝙蝠混合体,它可以作为一个.bat
),其采用了文件tooptip信息,并且不需要任何外部软件:如果对图片使用
@if (@X)==(@Y) @end /* JScript comment
@echo off
rem :: the first argument is the script name as it will be used for proper help message
cscript //E:JScript //nologo "%~f0" %*
exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */
//////
FSOObj = new ActiveXObject("Scripting.FileSystemObject");
var ARGS = WScript.Arguments;
if (ARGS.Length < 1) {
WScript.Echo("No file passed");
WScript.Quit(1);
}
var filename=ARGS.Item(0);
var objShell=new ActiveXObject("Shell.Application");
/////
//fso
ExistsItem = function (path) {
return FSOObj.FolderExists(path)||FSOObj.FileExists(path);
}
getFullPath = function (path) {
return FSOObj.GetAbsolutePathName(path);
}
//
//paths
getParent = function(path){
var splitted=path.split("\\");
var result="";
for (var s=0;s<splitted.length-1;s++){
if (s==0) {
result=splitted[s];
} else {
result=result+"\\"+splitted[s];
}
}
return result;
}
getName = function(path){
var splitted=path.split("\\");
return splitted[splitted.length-1];
}
//
function main(){
if (!ExistsItem(filename)) {
WScript.Echo(filename + " does not exist");
WScript.Quit(2);
}
var fullFilename=getFullPath(filename);
var namespace=getParent(fullFilename);
var name=getName(fullFilename);
var objFolder=objShell.NameSpace(namespace);
var objItem=objFolder.ParseName(name);
//https://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx
WScript.Echo(fullFilename + " : ");
WScript.Echo(objFolder.GetDetailsOf(objItem,-1));
}
main();
输出:
C:\TEST.PNG :
Item type: PNG image
Dimensions: ?871 x 836?
Size: 63.8 KB
,所以你可以:
for %%# in (*.jpg *.png *.tiff *.gif *.bmp) do (
echo %%#
for /f "delims=? tokens=2" %%a in ('toolTipInfo.bat "%%~#" ^|find "Dimensions:"') do echo %%a
)
或 与imgInfo.bat
这不是你可以用简单的批处理文件做的事情。您需要一些其他程序来读取图像信息。 – Brad