トップページ > Linux > 2020年03月26日 > fyr9HCPy

書き込み順位&時間帯一覧

7 位/107 ID中時間01234567891011121314151617181920212223Total
書き込み数0002010200000000000000005



使用した名前一覧書き込んだスレッド一覧
login:Penguin
363
くだらねえ質問はここに書き込め! Part 239

書き込みレス一覧

くだらねえ質問はここに書き込め! Part 239
361 :login:Penguin[sage]:2020/03/26(木) 03:50:09.22 ID:fyr9HCPy
>>352
よく知らないけど、関数とか別ファイルにして、バックグラウンドで起動すれば?
くだらねえ質問はここに書き込め! Part 239
362 :login:Penguin[sage]:2020/03/26(木) 03:59:48.39 ID:fyr9HCPy
>>337
Ruby を学ぶとよい

\d+ は、正規表現で、\d は数字、+ は前の文字を1つ以上使う(最長一致で)。
つまり、123x なら、123 を取れる

%04d は、sprintf の書式指定文字。
0 は桁数未満の時に0埋めする、4は4桁、d は整数。
123 なら、0123 になる

sprintf フォーマット
https://docs.ruby-lang.org/ja/latest/doc/print_format.html
くだらねえ質問はここに書き込め! Part 239
363 :login:Penguin[sage]:2020/03/26(木) 05:53:47.98 ID:fyr9HCPy
>>339
Ruby で作った。ただし、DryRun なので実際には実行されません

正規表現は、先頭^・末尾$ と、. をエスケープするので、\. となる。
^([a-zA-Z]+)\.txt$

日付は、%Y%m%d そのファイルの最終更新日、20190101 などの、4-2-2桁表示か?
aBc.txt → aBc_20190101.txt

require 'fileutils'

# 絶対パスのディレクトリ名の後ろに、*.txt を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/*.txt"
target_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す

re = /^([a-zA-Z]+)\.txt$/

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
File.basename( full_path ).match( re ) do |matched| # ファイル名がマッチしたもの
fs = File.stat full_path
date_str = fs.mtime.strftime "%Y%m%d" # 最終更新日 20190101 4-2-2桁

new_filename = "#{ $1 }_#{ date_str }.txt" # $1 は、capture 部分

dest_path = target_dir + "/" + new_filename
FileUtils::DryRun.move( full_path, dest_path )
end
end
くだらねえ質問はここに書き込め! Part 239
367 :363[sage]:2020/03/26(木) 07:33:30.35 ID:fyr9HCPy
日付は、%Y%m%d は、20190101 などの、4-2-2桁表示か?
今日の日付ではなく、そのファイルの最終更新日と解釈した!

aBc.txt → aBc_20190101.txt
くだらねえ質問はここに書き込め! Part 239
368 :363[sage]:2020/03/26(木) 07:37:21.04 ID:fyr9HCPy
>>364
>^[a-zA-Z].txt

正規表現は、先頭^・末尾$ と、. をエスケープするので、\. と解釈した!

^([a-zA-Z]+)\.txt$


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。