[過去ログ] 【.cmd】 バッチファイルスクリプト %14 【.bat】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
757
(3): デフォルトの名無しさん [] 2022/04/26(火) 23:13:58.40 ID:AEcCnDU9(1) AAS
フォルダの中にファイルが10個以上あったらタイムスタンプが一番古いファイルを削除する処理をバッチファイルでどう書くかどなたか教えろください。。
758: デフォルトの名無しさん [sage] 2022/04/26(火) 23:29:20.25 ID:OAZlYJMq(1) AAS
>>757
ジャバスクリプト使え
762: デフォルトの名無しさん [sage] 2022/04/27(水) 03:00:29.08 ID:itKYtkFa(1) AAS
>>757
for /f "skip=9 delims=" %%a in ('dir /a-d /b /o-d') do del "%%a"
763: デフォルトの名無しさん [sage] 2022/04/27(水) 18:14:04.80 ID:pviHRewB(1) AAS
>>757
Ruby で書いてみた。
DryRun なので、実際にはファイルは削除されません

require 'fileutils'

# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
dir_path = "C:/Users/Owner/Documents/test/*"

# そのディレクトリ内の全てのファイルパス・更新時刻を取得する。
# [ ファイルパス, 更新時刻 ]の配列の配列を戻す
def collect_filepaths_and_mtime( dir_path )
Dir.glob( dir_path )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.map { |full_path| [ full_path, File.stat( full_path ).mtime ] } # [ ファイルパス, 更新時刻 ]
end

temp_ary = collect_filepaths_and_mtime( dir_path )

if temp_ary.length >= 10
temp_ary.sort_by! { |ary| ary[ 1 ] } # 更新時刻の古い順でソート
# p temp_ary

FileUtils::DryRun.remove( temp_ary.first[ 0 ] ) # 削除
else
puts "ファイル数は#{ temp_ary.length } です。処理するファイルはありません!"
end
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.051s