JSL を使用して指定されたフォルダーのボリュームを直接取得するにはどうすればよいですか?たとえば、このフォルダー:
C:\Windows
ありがとう!
コンテンツの編成ウィンドウズRe: JSL を使用して指定したフォルダーのボリュームを直接取得するにはどうすればよいですか?それを直接導き出すことはできないと思います。これが私が思いついたものです
Names Default To Here( 1 );
theList = Files In Directory( "C:\Windows" );
totSize = 0;
For Each( {theFile}, theList,
totSize = Sum( totSize, File Size( "C:\Windows\" || theFile ) )
);
Show( totSize );
しかしそれは正確ではないようです
Re: JSL を使用して指定したフォルダーのボリュームを直接取得するにはどうすればよいですか?ジムさん、ありがとう!
Re: JSL を使用して指定したフォルダーのボリュームを直接取得するにはどうすればよいですか?Re: JSL を使用して指定したフォルダーのボリュームを直接取得するにはどうすればよいですか?この種のチェックは、プログラムの実行とそれに伴うコマンドを使用して実行する方がよい場合があります。
Files In Directory では、 recursive(1) を追加する必要があります (または、ループを自分で実行して、フォルダー内のファイルを取得します)。
Names Default To Here(1);
lookup_dir = "C:\Windows\";
file_list = Files In Directory(lookup_dir, recursive(1));
file_sizes = Transform Each({cur_file}, file_list,
File Size(lookup_dir || cur_file)
);
sum(file_sizes);
https://www.jmp.com/support/help/en/17.0/#page/jmp/file-functions.shtml?os=win&source=application#ww4951479
これには複数ファイルのインポートを使用することもできます。ディレクトリ ツリー: フォルダーによって使用されているスペースを調査する
Re: JSL を使用して指定したフォルダーのボリュームを直接取得するにはどうすればよいですか?として@jthi提案されているように、Run Program / Powershell (もちろん JMP から) を使用してこれを行う方法があります。
/*JMP STATISTICAL DISCOVERY LLC (“JMP”) PERMITS THE USE OF THIS COMPUTER SOFTWARE CODE (“CODE”) ON AN AS-IS BASIS AND AUTHORIZES YOU TO USE THE CODE SUBJECT TO THE TERMS LISTED HEREIN. BY USING THE CODE, YOU AGREE TO THESE TERMS. YOUR USE OF THE CODE IS AT YOUR OWN RISK. JMP MAKES NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRIGEMENT, AND TITLE, WITH RESPECT TO THE CODE.
You may use the Code solely as part of a software product you currently have licensed from JMP, JMP’s parent company SAS Institute Inc. (“SAS”), or one of JMP’s or SAS’s subsidiaries or authorized agents (the “Software”), and not for any other purpose. The Code is designed to add functionality to the Software but has not necessarily been tested. Accordingly, JMP makes no representation or warranty that the Code will operate error-free. JMP is under no obligation to maintain, support, or continue to distribute the Code.
Neither JMP nor its licensors shall be liable to you or any third-party for any general, special, direct, indirect, consequential, incidental, or other damages whatsoever arising out of or related to your use or inability to use the Code, even if JMP has been advised of the possibility of such damages. Except as otherwise provided above, the Code is governed by the same agreement that governs the Software. If you do not have an existing agreement with JMP or SAS governing the Software, you may not use the Code.
JMP and all other JMP Statistical Discovery LLC product or service names are registered trademarks or trademarks of JMP Statistical Discovery LLC in the USA and other countries. ® indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies.
*/
Names Default To Here( 1 );
op = {};
rp = Run Program(
Executable( "powershell.exe" ),
Options( "ls c:\temp\ -r | measure -sum Length" ), //Replace c:\temp\ with your folder
ReadFunction( Function( {this}, Insert Into( op, this << read ) ) )
);
for each ({i}, op,
if (word(1, i) == "Sum", totalsize = num(regex (i, "([0-9]+)")))
);
show (totalsize);Re: JSL を使用して指定されたフォルダーのボリュームを直接取得するにはどうすればよいですか?GPT-4o は非常に強力で、通常のプログラミングを実行できます。
win10 システムでは、C ディスクの各ディレクトリのボリューム サイズ (隠しファイルを含む) の具体的な要件は次のとおりです。
Cドライブのルートディレクトリから開始し、
1、このディレクトリのサブディレクトリが3層以上の場合は、第3層ディレクトリに拡張することができ、第3層ディレクトリに含まれる各ディレクトリのそれぞれのボリュームの統計
2、このディレクトリのサブディレクトリが3層を超えない場合、このディレクトリの拡張の統計は、それぞれのボリュームのディレクトリの最後の層までです。
t1=tick seconds();run program(executable("cmd.exe"),options({"/c powershell -Command \!"& {$results = @(); Get-ChildItem C:\ -Directory -Force | ForEach-Object { $topDir = $_; $subDirs = Get-ChildItem $topDir.FullName -Recurse -Directory -Force -ErrorAction SilentlyContinue | Where-Object { ($_.FullName.Split('\').Length - 1) -le 3 }; if ($subDirs) { $subDirs | ForEach-Object { $size = (Get-ChildItem $_.FullName -Recurse -File -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum; $results += [PSCustomObject]@{ Path = $_.FullName; 'Size (MB)' = [math]::Round($size / 1MB, 2) } } } else { $size = (Get-ChildItem $topDir.FullName -Recurse -File -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum; $results += [PSCustomObject]@{ Path = $topDir.FullName; ')' = [math]::Round($size / 1MB, 2) } } }; $results | Export-Csv -Path 'D:\目录大小.csv' -NoTypeInformation -Encoding UTF8}\!""}));
t2=tick seconds();t=t2-t1;Re: JSL を使用して指定されたフォルダーのボリュームを直接取得するにはどうすればよいですか?