[過去ログ] 【.cmd】 バッチファイルスクリプト %14 【.bat】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
639: 2022/01/26(水)12:06 ID:+BcwC06P(2/2) AAS
あれ?XPから使えるのか…
あの外人許さん
640: 2022/01/26(水)12:08 ID:JawhZMcA(3/3) AAS
A01BとA001Bが同じ評価になって順番どうするのとか思う
641(1): 2022/01/26(水)20:44 ID:rJwWcbPl(1) AAS
>>631をスイッチで逆順に出来ない?
642: 2022/01/26(水)22:43 ID:2NoDFTFY(1) AAS
>>631
おおーっ、いいなコレ
>>630
今更感が強いけど、文字列やセパレータがはっきりしてるならこんな事も
>dir /b *.txt | gsort -g --key=4 --field-separator=x
xxx11.txt
xxx0123.txt
xxx2222.txt
xxx3333.txt
xxx11111.txt
省13
643: 2022/01/26(水)22:54 ID:e2k0MxNT(2/2) AAS
11
011
0011
のソート順が分からない
644: 2022/01/27(木)00:04 ID:L9fnubfL(1) AAS
>>641
もちろんできる
下記をSortの後に追加
if "%1"=="/R" echo System.Array.Reverse(lines); >>SortLogical.cs
645: 2022/02/05(土)23:16 ID:ICS6MdcL(1) AAS
・画像ファイルが縦長か横長か?
・画像ファイルの拡張子判別
上記2点をバッチから行いたい
縦横に関してはimageMagickで出来そう
identify -format "%[fx:h>w?1:2]" "ファイルパス"
拡張子判別も同様に %m でファイルタイプからやれそうではあるのですが
何か更に良い方法やコマンドラインアプリなどがあったらアドバイス欲しいです
646: 2022/02/06(日)04:23 ID:D8jWL7f3(1) AAS
画像のサイズはOS標準の方法としてシェルネームスペースからファイルのプロパティの詳細タブの値を拾ってくるやつがあったと思う
COMが使えるスクリプトで取ってくる必要がある
拡張子はバッチファイル 拡張子 取得でぐぐったら出てくるんじゃないの
647(1): 2022/02/06(日)05:53 ID:ZVoj0wBD(1/2) AAS
Param([Parameter(mandatory=$true)][String]$inputFile)
Add-Type -AssemblyName "System.Drawing"
try{
$img = [System.Drawing.Image]::FromFile($inputFile)
if ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Jpeg)) {
$mimetype = 'image/jpeg'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Png)) {
$mimetype = 'image/png'
} elseif ($img.RawFormat.Equals([System.Drawing.Imaging.ImageFormat]::Bmp)) {
$mimetype = 'image/bmp'
省19
648(1): 2022/02/06(日)05:54 ID:ZVoj0wBD(2/2) AAS
↑
getDetailsOfでプロパティを取ってくる以外の方法
jpg/png/gifぐらいだけど
powershell ./test.ps1 "画像ファイルのパス"
プロパティだと拡張子に関連付けられたものになる
中身がjpgなのにファイル拡張子が.pngの場合とかある?
なお、batに埋め込みたいならググれば方法は出てくる
649: 2022/02/06(日)09:33 ID:T20/oaZi(1) AAS
>>647-648
ありがとうございます
最初、実行ポリシーが云々でエラーになったものの、ググって
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 '%~1'
としたら動きました
シングルクォートにしないとスペースを含むパスでエラーになりました
> 中身がjpgなのにファイル拡張子が.pngの場合とかある?
バッチでリネームついでにそういった間違っている拡張子を正しいものに直したいと思いまして
image/jpeg とかを .jpg に変えたら面倒も無くそのまま使えそうです
powershell凄いですね。外部アプリ使わずに判別出来ちゃうんですね
省7
650: 2022/02/16(水)16:36 ID:w27+Spzi(1) AAS
初心者過ぎて分からないんだが
コマンド >nul 2>&1
if "!ERRORLEVEL!" == "0" 〜
ってちゃんと意味ある?
出力捨てるのは成功するから毎回リターンコード0になったりする?
651(2): 2022/02/16(水)17:40 ID:SGx0nl/1(1) AAS
正常時に出力の無いコマンドはリダイレクトできないからエラーになるんじゃね。
異常時にコマンドがエラー出してもエラーになるから
結局、区別がつかない。
652: 2022/02/16(水)18:08 ID:5G/Gik2e(1/4) AAS
>>651
辞めといた方がいいか
前の処理が正常終了したら次に進むベストプラクティスってなんだろう
653: 2022/02/16(水)18:18 ID:t0Nu4cH6(1/2) AAS
コマンドの復帰コードと標準(エラー)出力のリダイレクトとは無関係なので
ちゃんとコマンドが復帰コードを返していたら問題ないはず
errorlevel環境変数を見るのはちょっとリスクがあるけどわかっているなら問題はない
if errorlevel 1 〜
なら確実
654: 2022/02/16(水)18:26 ID:lGeZIdOq(1) AAS
コマンド
if not errorlevel 1 echo ok
コマンド >nul 2>&1 && echo ok || echo fail
655(1): 2022/02/16(水)18:31 ID:5G/Gik2e(2/4) AAS
ifのパラメーターにerrorlevelがあったのね
確かに環境変数使うより良さそう
PC起動時に毎回開きたいアプリを順番(前後関係あり)に開いてくだけだから基本startコマンドなのよね
656: 2022/02/16(水)18:32 ID:5G/Gik2e(3/4) AAS
おーありがてえ
657: 2022/02/16(水)18:39 ID:IpLn/l6Q(1) AAS
>>651
> 正常時に出力の無いコマンドはリダイレクトできないからエラーになるんじゃね。
どこからこんなアホな知識を仕入れたのか知らんが、そんな知識を開陳する度胸に感心したわ
658(2): 2022/02/16(水)18:44 ID:91qDUo1j(1) AAS
>>655
if errorlevelは 以上 だから気をつけろよ
DOS時代の使い勝手重視だ
659: 2022/02/16(水)18:50 ID:t0Nu4cH6(2/2) AAS
>>658
DOSだと、gotoしか書けなかったね
660: 2022/02/16(水)22:29 ID:5G/Gik2e(4/4) AAS
>>658
以上なのか…
勘違いしそうだったわ気を付けよ…
661(1): 2022/02/20(日)02:07 ID:UpXKcN5y(1/3) AAS
これなんでこうなるの?
echo abc 行末|findstr "^abc"
一致
(echo abc 行末)|findstr "^abc"
一致
echo abc 行末|findstr "行末$"
一致
(echo abc 行末)|findstr "行末$"
不一致
echo abc 行末| findstr /r /c:"^abc 行末$"
省9
662(1): 2022/02/20(日)02:58 ID:WlVIdNMt(1/2) AAS
(echo abc 行末)|findstr "行末 $"
は一致する
スペースが入るみたいだね
663(1): 2022/02/20(日)03:21 ID:j5UZdGyh(1/2) AAS
>>662
それだと、空白は文字列のOR扱いで、"行末"と"$"のどっちかってことになる
が、まあそういうことだね
echo onの状態で実行してみりゃわかる
664: 2022/02/20(日)03:38 ID:UpXKcN5y(2/3) AAS
ありがとう
(echo abc 行末)|findstr /r /c:"^abc 行末 $"
これで一致したから半角スペース入ってしまってるで間違いないみたい
665(1): 2022/02/20(日)03:42 ID:j5UZdGyh(2/2) AAS
echo onでどう展開されるかみればどうしてそうなったのかわかるよ
666: 2022/02/20(日)05:28 ID:UpXKcN5y(3/3) AAS
>>665
当然echo onでも確認してる
例えばこんなの
for %a in (a b c) do (echo %a|findstr "b$")
echo onでの表示では %a | とパイプとの間にスペース入るけどechoの末尾にゴミなんて付かないのよ
元のバッチやコマンドプロンプトの入力で以下のようにスペース入ってれば末尾にスペース入るけど上記のように詰めて書けば入らない
for %a in (a b c) do (echo %a |findstr "b$")
667: 2022/02/20(日)05:50 ID:WlVIdNMt(2/2) AAS
>>663
ん?
空白区切りってダブルクォートを無視するの?
"行末(sp)(sp)$" で不一致になるから "行末(sp)$" に一致してるんだと思ったけど
668: 2022/02/21(月)23:05 ID:J9914B5I(1) AAS
>>661
外部リンク[html]:scripting.cocolog-nifty.com
上下前次1-新書関写板覧索設栞歴
あと 334 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.022s