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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
631
(4): デフォルトの名無しさん [sage] 2022/01/26(水) 01:07:47.03 ID:td9ayUMw(1) AAS
普通に見つかったけど、本当に探した?
@echo off
echo class P{[System.Runtime.InteropServices.DllImport("shlwapi.dll", >SortLogical.cs
echo CharSet = System.Runtime.InteropServices.CharSet.Unicode, ExactSpelling = true)] >>SortLogical.cs
echo public static extern int StrCmpLogicalW(string str1, string str2); >>SortLogical.cs
echo static void Main(){ string[] lines = System.Console.In.ReadToEnd().Split >>SortLogical.cs
echo (new string[] { "\r\n" }, System.StringSplitOptions.RemoveEmptyEntries); >>SortLogical.cs
echo System.Array.Sort(lines, StrCmpLogicalW); >>SortLogical.cs
echo System.Console.Out.WriteLine(string.Join("\r\n",lines));}} >>SortLogical.cs
for /f %%i in ('dir /s /b "%windir%\Microsoft.NET\csc.exe"') do set csc="%%i"
%csc% /nologo SortLogical.cs
dir /b | SortLogical
632: デフォルトの名無しさん [sage] 2022/01/26(水) 04:18:02.04 ID:aOgfZBdB(1) AAS
>>631
すげぇ。生成されたexeで希望するソートが出来るようになりました
マジ感謝です
ありがとう

> 本当に探した?
検索語すら分からず「バッチ dir エクスプローラー並び順」とか他にも結構色々試して探しては見たのですが。。
StrCmpLogicalW が分かった今でもその方法を見付けられていません
641
(1): デフォルトの名無しさん [sage] 2022/01/26(水) 20:44:37.41 ID:rJwWcbPl(1) AAS
>>631をスイッチで逆順に出来ない?
642: デフォルトの名無しさん [sage] 2022/01/26(水) 22:43:54.21 ID:2NoDFTFY(1) AAS
>>631
おおーっ、いいなコレ

>>630
630(1): デフォルトの名無しさん [sage] 2022/01/25(火) 23:14:16.23 ID:aASmTB60(4/4) AAS
>>629
ありがとう
libをシステムにコピーして使えました
でもコレ
dir /b *.ext | gsort -n
1.txt
2.txt

9.txt
10.txt
と、数字.ext なら数値順にソート出来ましたけど
文字列+数字.ext だと無理なようです
xxx1.txt
xxx10.txt
xxx2.txt
xxx20.txt
みたいになります
xxx_1.txt と文字列と数字の間に区切り記号入れても駄目
エクスプローラーのようには並ばないみたいですね

win32api使うかvbかpowershellかで出来るような事を以前どこかで読んだ気がするのですがそのソースが見付けられない。。
今更感が強いけど、文字列やセパレータがはっきりしてるならこんな事も

>dir /b *.txt | gsort -g --key=4 --field-separator=x
xxx11.txt
xxx0123.txt
xxx2222.txt
xxx3333.txt
xxx11111.txt

>dir /b *.txt | gsort -n --key=2 --field-separator=-
xxx-01-23.txt
xxx-1-1.txt
xxx-2-222.txt
xxx-33-33.txt
xxx-111-11.txt

>dir /b *.txt | gsort -n --key=3 --field-separator=-
xxx-1-1.txt
xxx-111-11.txt
xxx-01-23.txt
xxx-33-33.txt
xxx-2-222.txt

ひとつ目はちょっと無理やりw
695: デフォルトの名無しさん [sage] 2022/03/29(火) 17:48:10.85 ID:Da68lL6t(1) AAS
>>631 みたいにすれば大体何でもイケるんじゃね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s