【.cmd】 バッチファイルスクリプト %14 【.bat】
レス数が1000を超えています。これ以上書き込みはできません。
952さん
教えてくれてありがとうございます
失礼いたしました 今出先だから試せないけど多分こうかな
-o "[%%(title)s].%%(ext)s" 599さん出来ました♪
親切に教えてくれてありがとうございました
感謝です(*- -)(*_ _)ペコリ 文字列処理は、Ruby で書いて、
コマンドプロンプト・Power Shell から呼び出す
これが間違いない。
バグる事もない
日本の人工衛星でも、文字列処理の部分を組み込みのmruby で作ったりする。
こういう処理をCで作ると、ややこしくてバグるから
VBS, WSH のピッコロ大魔王は、すごい技術者だよ。
スクレイピングでも、Rubyのクラス・モジュールみたいに、VBScript で作ったりする
VBS から、.NET とか呼び出せるのか RubyってWindowsデフォで処理できんの?Pythonは? それいいな
Ruby置いておいて.batから呼び出すの超楽じゃん mp3をダウンロードして128kにするバッチファイル教えてもらえませんか?
yt-dlpとffpmeg使って色々と試してみてもうまくいきません
ダウンロードしたあとでしたら名前が分かるのでこれで出来たのですけど
ffmpeg -i input.mp3 -vcodec copy -ab 128k output.mp3 >>960
ただし、Python, Ruby などのウェブ系言語は、
インターネット・Linux・UTF-8 用に作られているので、
Windows・shift-jis(CP932)の日本語でバグるかも
だから、Linux用のソースコードを、
MSYS2/MinGW でコンパイルして、Windows用にしたものよりも、
WSL2 で、Linuxを動かしたものの方が安全
これは、UTF-8をCP932に変換せず、そのままUTF-8を使っているから安全
漏れが作った感想では、PowerShell, VBScript よりも、
圧倒的に、Rubyが作りやすい。
Rubyの方が、本なども多いし パイプから文字列受け取ってsetする方法って
echo a|for /f %%a in ('more') do set a=%%a
みたいにforでやるか一旦ファイルに書き出すしか無い?
echo a| set /p a="" <pipe
みたいにリダイレクトに繋げてくれるかパイプで流れてくるものに%$_%とか一時変数っぽいものに割り当ててくれたら良いのに
rg.exeが便利すぎて遊んでてふと思った rgがcmdで使い物にならなくてショック
パイプで受け取る分には-E sjisで出来るんだけどrgからパイプで次に繋げたりリダイレクトで出力するとascii以外の文字は化ける
これcmd上だとどうにもならない?
https://github.com/BurntSushi/ripgrep/blob/master/FAQ.md#pipe-non-ascii-windows 文字コードの問題なら
一旦nkf32でも中継させて文字コード変換して読み直すとか? chcp 65001
して全部 utf8 でやっちゃう
utf8 のバッチファイルで行末が2バイト文字だとエラーに
なるんで、そういうのは行末に . とかで回避 >>970
試してみたら行けました
でも入力を指定出来ないのがちょっと不安、と思っていたら期待される入力のオプションありました
現状それしか無いかもですね
rgを多段に使う場合は最初と最期だけ変換すればrgの-Eオプションも省けて良いかも
でも手軽さにケチ付いたみたいなのが引っかかります。。
>>971
utf-8だと機能しないコマンドもあるのでその確認がちょっと大変です
お二方ともレスありがとうございました ちょっと大変どころじゃないけど
UTF-8とかの時点でPowershell検討しなよ 分かっていると思うけど
nkf等で変換しても変換不可の文字が欠落するので注意 えっ?いや全然分かってないです
sjis → utf-8 → sjis
で欠落する文字って在るのでしょうか?
半角カナはxオプションで維持可能でした コンソールアプリでパイプの時点で色々諦めなきゃね
rg.exeとやらはwinforms版はないの?オプソだよね? 完璧版nkfとは、どのようなものになるのでしょうか?
UTF-8、UTF-16対応?
文字コードによって存在する文字(というかコード?)にどう対応すればよいのでしょうね? フォルダ a:\xxx を
a:\yyy の下に移動して
a:\yyy\xxx とするのはどうやりますか? move a:\xxx\*.* a:\xxx\yyy 間違えた。
x move a:\xxx\*.* a:\xxx\yyy
o move a:\xxx\*.* a:\yyy\xxx 次スレを立てて見ようと思います。
失敗したら、あとのかたお願いします。 次スレです。
【.cmd】 バッチファイルスクリプト %15 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1663153441/l50
後の埋めは、よろしくお願いします。 move a:\xxx a:\yyy
で行けないかな
ダメならxcopyかrobocopyを使う rem フォルダyyyが無い場合、フォルダyyyを作成。
md a:\xxx\yyy
rem フォルダxxx下にファイルが有る場合。
move a\xxx\*.* a:\xxx\yyy コピーの場合、
move a\xxx\*.* a:\xxx\yyy
のmoveをcopyにして下さい。 md a:\yyy
if not exist a:\yyy\xxx (move a:\xxx a:\yyy) else (
if exist a:\yyy\xxx\nul (
move /-y a:\xxx\* a:\yyy\xxx
for /d %%i in (a:\xxx\*) do move "%%i" a:\yyy\xxx
rd a:\xxx ))
既存のため移動できない物はa:\xxxに残るので名前変更して再実行 それで、>>980さんは、解決したのでしょうか。
後は、埋めてしまいますよ。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 761日 6時間 9分 1秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。