[過去ログ]
【.cmd】 バッチファイルスクリプト %14 【.bat】 (1002レス)
【.cmd】 バッチファイルスクリプト %14 【.bat】 http://mevius.5ch.net/test/read.cgi/tech/1597442426/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
218: 157 [sage] 2021/02/25(木) 11:51:36.12 ID:dOCTT7eM >>138 >>157-160 の、160 のa.rb 内に、Ruby で書いた。 このショートカットに、複数フォルダをD&D する ソートの昇順・降順は、ソート後の配列.first/last で ただし、日本語のファイル名では、\x{8356}\x{8387}\x{815B} のように表示されてしまう。 DryRun を使ったので、実際には実行されません require 'pathname' require 'fileutils' # ドットよりも前の、文字列を返す。ab.cd.xy なら、ab を返す。 # ab.cd を返したいのなら、rindex を使う def before_dot( str ) idx = str.index( "." ) # ドットの位置を、先頭から探す # idx = str.rindex( "." ) # ドットの位置を、末尾から探す if idx # ドットが有れば str[ 0, idx ] # 最初から、idx 文字数分を切り出す else str end end 次へ続く http://mevius.5ch.net/test/read.cgi/tech/1597442426/218
219: 157 [sage] 2021/02/25(木) 11:53:03.33 ID:dOCTT7eM # ARGV は、D&D した複数フォルダの配列で、1つずつ処理する ARGV.each do |full_path| dir_path = Pathname.new( full_path ) next unless dir_path.directory? # フォルダ以外は処理しない # 直下のファイルのみを取り出して、ファイル名でソートする file_names = dir_path.children( ).select( &:file? ).map( &:basename ).map( &:to_s ).sort file_name = file_names.first # 昇順 # file_name = file_names.last # 降順なら、これを使う file_n = before_dot( file_name ) # 上で定義した関数 dest_path = dir_path.parent.join( file_n ) # 変更後のフォルダ名 # 変更後のフォルダ名が、既に存在する場合は、エラー raise "#{ dest_path } が、既に存在します" if dest_path.exist? FileUtils::DryRun.move( dir_path, dest_path ) end http://mevius.5ch.net/test/read.cgi/tech/1597442426/219
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s