1 名前:デフォルトの名無しさん mailto:sage [2018/11/21(水) 14:52:07.84 ID:v84I4o+L.net] 拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる 質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。 ※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。 前スレ 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net echo.2ch.net/test/read.cgi/tech/1424858999/ 【.cmd】 バッチファイルスクリプト %12 【.bat】 https://mevius.5ch.net/test/read.cgi/tech/1489207631/ それ以前の過去スレ %10 peace.2ch.net/test/read.cgi/tech/1374205515/ %9 toro.2ch.net/test/read.cgi/tech/1335015478/ %8 toro.2ch.net/test/read.cgi/tech/1315844420/ %7 hibari.2ch.net/test/read.cgi/tech/1298873550/ %6 hibari.2ch.net/test/read.cgi/tech/1277465356/ %5 pc12.2ch.net/test/read.cgi/tech/1242268171/ %4 pc12.2ch.net/test/read.cgi/tech/1229955189/ %3 pc11.2ch.net/test/read.cgi/tech/1217860043/ %2 pc12.2ch.net/test/read.cgi/tech/1197881068/ %1 pc11.2ch.net/test/read.cgi/tech/1178281991/
620 名前:デフォルトの名無しさん mailto:sage [2019/11/23(土) 16:50:58.80 ID:xep2e/TT.net] awkが手軽で楽そうだがユニコードできたっけ?
621 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 13:59:48.96 ID:6F6igyhI.net] WindowsならPSで良いだろ 文字コードもドトネトで扱える範囲で指定できるし
622 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 10:19:19 ID:NW9y+uW0.net] 用途:エクセルにある複数の画像URLを、指定したフォルダにDLさせたい コマンドでやりたい理由: ダウンロードソフトは一つのフォルダに全部DLするか、 一つのURLを開いてから一つづつDL先を指定するか、 URLをフォルダ構造に分解して保存するからDL後探すのが面倒で嫌 DownloadThemALLとか、DL雨とか、Tab Saveとか、Image Downloader… 全部ダメ; bitsadmin /transfer [name] [URL][DL path] bitsadmin /transfer [name] [URL][DL path] bitsadmin /transfer [name] [URL][DL path] …こんな風に並べて書いたところ、リストの最後らへんの二つぐらいを除いて PRIORITY:NORMAL FILES:1/1 BYTES:0/0 (0%) Transfer complete. でDL開始する前に次の行にいってしまうようです。しかも0バイトの指定したファイルを作ってしまいますw MS見ると複数やるなら1行に続けろとあるので bitsadmin /transfer [name] [URL] [DL path] [name2] [URL2][DL path2] としたが状況変わらず。 どうしたらいいでしょうか。timeoutでは変わりませんでした。
623 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 10:20:48 ID:NW9y+uW0.net] >並べて書いた batファイルにしてからダブクリのため
624 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:23:55 ID:ImxGWCjG.net] httpのみでhttps未対応だしリファラやUA見られてても落ちないと思う ダウンローダーはその辺勝手にやってくれてるんだよ 取り敢えずこれ真似してforでlist読んでやってみれば? ttps://automationlabo.com/wat/?p=570
625 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 12:32:29.83 ID:NW9y+uW0.net] >>601 ありがとう、そこのサイトみてやってるんだ ちなみに今はHTTPS対応してるようで ttps://maku77.github.io/windows/cmd/download.html ttps://qiita.com/uratatsu/items/d77152ca121d0b779464 一件づつコピペだったらできるんだ ダウンローダーについては気軽にスレで聞いてるけど、 画像ごとにフォルダを指定して一気に保存ができるものはないみたい 昔懐かしいirvineができる的な噂見てやってみたけど、フォルダ指定ができないorz
626 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 13:46:11 ID:ISv3uuWx.net] しらんけど 前の行の処理が完了する前に次の物が始まるのがまずいなら Call でいんじゃないの?
627 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:15:56.61 ID:ImxGWCjG.net] call または start "" /wait コマンド
628 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:16:12.39 ID:JyI6kWkc.net] 特定に箇所にダウンロードして、ダウンロードが終わったら移動するんじゃダメなの? なんでダウンロードするアプリにフォルダ指定の機能まで期待するんだろう 頭硬いのかな
629 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:22:21.16 ID:Rh/VLF1h.net] bitsadmin の代わりに cURL を試してみては
630 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:40:23.78 ID:jwtMC5+Q
] [ここ壊れてます]
631 名前:.net mailto: >>599 ジョブにaddfile/addfilesetオプションでurl追加すればできるみたいだけど [] [ここ壊れてます]
632 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:41:21.48 ID:ISv3uuWx.net] たしかにそれぞれのファイルのフォルダ指定をすること自体がめんどくさそう ダウンロードフォルダにその人が望む各保存先フォルダのショートカットおいてまとめて突っ込む方が楽そう
633 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:51:14 ID:NW9y+uW0.net] pushd %~dp0 for /f "tokens=1-3" %%A in (list.txt) do ( bitsadmin /TRANSFER FILEDOWNLOAD %%B %~dp0\%%A\%%C ) echo listの内容 [dir] [url] [ファイル名] ダメでした…%%Aで留めれば行けるけど、他のフォルダにいれたいやつを上書きしちゃう curl…Linuxコマンドだと思ってスルーしていたけど調べてみます。thx >>605 100も200もあるURLごとのフォルダからぽちぽち移動できるもんならやればいいよ DownloadThemALLとか、古いFirefoxでしか動かんけどScrapbookとか、あなたが 言うような奴ならごまんとある。 私はそれはやってられんから他の方法探してます。 hogehoge.jp/moemoechan/hogenull/img/image/hoge-hoge-hoge-hoget.jpg というURLをそのままフォルダにされても、今回の場合は探し出すのが大変なんだよ、 ファイルに行くまでに何回クリックいる?×100だよやりたいならどうぞ私は嫌ですw (単なるスクラップならせいぜい1サイトくらいだからむしろそれでいい) つか、あなたのそのやり方やるぐらいなら、URLのリストをいっこづつコピペで 開いてブラウザから保存したいフォルダにD&Dしたほうが何十倍も速いぞたぶん。 だってDLしたあとで探す手間いらないですよね?
634 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:55:31 ID:JyI6kWkc.net] >>609 >だってDLしたあとで探す手間いらないですよね? なにを探すの? 空のディレクトリに一個だけダウンロードしたらmoveするだけじゃん しかもダウンロードするファイル名分かってるんだろ? まとめてダウンロードしてからでも人間が探す必要なんかないじゃん ダウンロードディレクトリにあるんだから 脳みそ足りて無くない?
635 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 14:59:19 ID:NW9y+uW0.net] >>607 !! 調べてみます! まあそりゃねぇ 管理ナンバー URLっていう100個のリストにある画像集める必要があって 素直にそのURLをブラウザで開いてD&Dもしてましたよ…けど開いてる時間すら 面倒になってきまして… ダウンローダーいろいろ探したけど、ブラウザのダウンロードフォルダ固定とか ダウンロードする画像ごとにフォルダ指定しろダイアログとか、そーじゃねーよとw もうそのいちいちダイアログがうぜえwでも振り分けずぜんぶいっしょくたも困る。 で、GoogleスプレッドでIMPORTXMLで画像リスト出していまここって感じ。 599の状態でビャーってなればよかったのだが。(もっといい方法あったらそっちがいいけど!)
636 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:05:17 ID:NW9y+uW0.net] >>610 これが見えないですか。そうですか。 >hogehoge.jp/moemoechan/hogenull/img/image/hoge-hoge-hoge-hoget.jpg >というURLをそのままフォルダにされても、今回の場合は探し出すのが大変なんだよ、 元々は 123 hogehoge.jp/moemoechan/hogenull/tio/hoge-hoge-hoge-hoget.html 124 hogehoge.jp/moemoechan/hogenull/star/hoge-hoge-hoge-hoget.html 125 hogehoge.jp/moemoechan/hogenull/maru/s/hoge-hoge-hoge-hoget.html 126 hogehoge.jp/moemoechan/hogenull/otto/s/hoge-hoge-hoge-hoget.html というエクセルのファイルにある各URLのにある画像をそれぞれ分けたい、ということ。 ちなみにこれ4つだからぽちぽちやってもいいんだけどさ…100行あるとしたらどう?w
637 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:25:21 ID:XdTMGSyO.net] batで外部プログラムの実行完了まで待つ呼び出し方法は start /wait って上で誰かが言ってるだろ
638 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:33:34 ID:ISv3uuWx.net] ツリー上に保存しなけりゃいいし ダウンロードフォルダのルートで
639 名前:*でサブフォルダ含めて検索してもすぐまとめて表示されるしなあ [] [ここ壊れてます]
640 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:49:02.22 ID:NW9y+uW0.net] ツリーに保存しないとダメだからそうしてるんだけど。 この管理番号の画像これですよーと明示できなければならないからリストがあるわけで。 必ず4つ、必ず5つならDL時即時リネーム連番にしてもいいけど…3しかなかったり6あったりする それを検索するにしても画像リストと照合しながら?工程増えすぎ。元の手順より面倒になってもw waitはダメでした。 trancefar 〜 wait trancefar ~ は使い方間違ってますか? trancefar 〜複数URL wait もだめでした…
641 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:54:58.38 ID:SASMXjiT.net] start "" /wait bitsadmin でしょ
642 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 15:56:32 ID:ISv3uuWx.net] いちいち一個ずつ保存先指定するより楽だよ 検索っていっても保存先フォルダことにダウンロードすれば*でやりゃいい
643 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:10:59 ID:XdTMGSyO.net] とにかくダウンロードが正常に終わるようにならないと先に進めないだろ ダウンロード時にフォルダが決まるならそれで問題解決だし 外部ダウンローダを使うのなら、落としたファイルとurlとの対応が取れるのかが問題 それが可能(例えばファイル名が行番号になってるとか)なら 落とした後にファイルを対応するフォルダに移動すればいい もちろんbat等の自動化で
644 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:20:26 ID:ImxGWCjG.net] start "" /wait bitsadmin /TRANSFER FILEDOWNLOAD %%B %~dp0\%%A\%%C urlに&とか%は無いの?
645 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:26:58.84 ID:NW9y+uW0.net] >>617 それ、ブラウザでURL開いて、保存先フォルダ開いてD&Dのほうが早いよ? 今時のブラウザ、コピペと同時に開くんだから。 >>618 それな; >>616 ! そういう使い方になるのか!ありがとうございます! でも空ファイルだったw Dirとmdで生きてるのでもう脳みそ煮えてますわ…
646 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:34:10.52 ID:NW9y+uW0.net] >>619 ある。%20とか?とか。 ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12345.jpg?123456 ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12346jpg?1234 こんな感じ。 bitsadmin~を一つだけ書いた場合はちゃんと動作するから大丈夫な・・・ えっ??まさか%%
647 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:50:52 ID:ISv3uuWx.net] >>620 一個ずつドラッグドロップする気?
648 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:51:59 ID:ISv3uuWx.net] >>618 ダウンローダーなら正常に終わるでしょ
649 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 16:57:32 ID:XdTMGSyO.net] >>623 一般的なダウンローダなら、urlの末尾がファイル名になるが 名前の重複も多く起き、その場合、ダウンローダは自動的にリネームする aaa.jpg, aaa(1).jpgのように しかも(1)が付くのは早くダウンロードが終わったものでリストの上から順というわけでもない これとリストにあるurlとの対応をとるのは大変だと思わん?
650 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:03:32 ID:JyI6kWkc.net] >>624 結局一つずつダウンロードする必要があるだろ? やっぱり何を探せなないのが全くわからんなぁ
651 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:04:08 ID:ISv3uuWx.net] >>624 重複はツリー上で保存すりゃ起きない
652 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:07:32 ID:NW9y+uW0.net] >>622 その方が早いと言ってます。どっちが早いか試してみたら? https://www.yahoo.co.jp/ ロゴとその左右のアイコン https://www.rakuten.co.jp/ ロゴから購入履歴までのアイコン https://www.nikkei.com/ ロゴと、その下の写真3つ DL先のフォルダ開く、URLひらく、D&D 3工程 URLをまとめてダウンローダーに入れる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、該当のファイルを検索する D&D 5工程 フォルダごとにURLをダウンローダーにいれる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、D&D 4工程
653 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:10:41 ID:ImxGWCjG.net] >>621 詰み &なら "%%~B" とすれば行けたかもだけど バッチで%〜%のエスケープは出来なくないもののかなり面倒くさい powershellとか行
654 名前:チた方がいい どうせ自動化するのなら>>612 の元listから抽出してDLする方法をPSスレとかで相談してみれば? [] [ここ壊れてます]
655 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:15:21 ID:NW9y+uW0.net] で、私はその3工程ですらめんどくっせーってなって、3工程とも省けんかなと考えた #今後も同じ作業あるから、今なんとかできてると今後が楽。 ダウンローダーのダウンロード先の問題って、こうなるんだよね tp://imepic.jp/20191126/620210 ふ、ふかい。(これはFirefoxアドオンのスクラップブック。DownloadAllThemもこういう感じ) お気に入りのサイト見るだけならアドオンからわかるんだけど、画像を取り出すとなると エクスプローラーに行く必要がある
656 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:15:53 ID:ISv3uuWx.net] >>627 エクセルに入れてるってんだから まとめてURL処理してるんでしょ D&Dをファイル数分しなくちゃならんのを言ってるんだが まとめてURL処理してるならD&Dは1回でいい
657 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:18:49.77 ID:NW9y+uW0.net] >>628 うへwわろすwそういうことか! Powershellはこっち以上に全くわからんな… 画像リストはGoogleスプレッドにぶんなげて作れてはいる ありがとう
658 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:19:23.77 ID:ImxGWCjG.net] 0バイトになるのは書き込み権限とか 管理者で実行しても変わらない?
659 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:23:52.25 ID:NW9y+uW0.net] >>632 transfarされる前に次にいっちゃって、でもファイル作れって言ってるから空のファイルつくりましたって感じに見える transfar実行画面のBYTE:0/0のところが、いっこづつやったときはにゅーーーって動いてファイル捕れるんですが ここが0/0のままで次を始めてしまう Wait入れようが、Pauseいれようが、そこは同じですね
660 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:42:23 ID:NW9y+uW0.net] >>631 エスケープさせてできました!! コマンド自体もスプレッドシートに関数くんでやってるので、どこかの時点で% を置き換えてやることにします。 ヒントありがとうございました。 みなさまもたくさんヒントありがとうございました。
661 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 17:50:12 ID:XdTMGSyO.net] >>634 ""で括ってやれば? ダメならちょっと上のsetlocal enabledelayedexpansionを参考に pushd %~dp0 for /f "tokens=1-3" %%A in (li.txt) do ( if not exist "%~dp0\%%A\." mkdir "%~dp0\%%A" start "" /wait bitsadmin /TRANSFER FILEDOWNLOAD "%%B" "%~dp0\%%A\%%C" )
662 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 09:30:10 ID:/m01ABgd.net] >>634 おい逃げるなよ
663 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 23:47:18 ID:wNkvi2te.net] >>636 こわいよw もはや逃げることはできぬぞ、か。
664 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 14:56:56 ID:0+3TB6cR.net] トレンドに#業務ハックというのが上がってた。フーン ここにいるわるいオジサン達は徹底的に省力化して、あとは仕事するフリして過ごすようなことは まさかしていませんよね?
665 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 05:01:38.65 ID:CfjKoCjD.net] 無理そうな気はしつつも質問 苗字<tab>名前<tab>年齢<tab>住所 田中<tab>太郎<tab>27<tab>大阪 山田<tab>花子<tab><tab>東京 佐藤<tab><tab>35<tab> こんな表のテキストファイルを<tab>を区切り文字として列指定して読み込みたいんだけど tokens=2,4 にしても連続した<tab>は一括りに扱われて山田と佐藤は対象の列がずれちゃうよね これはもうvbsやVBAじゃないと無理ぽかな
666 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 07:15:07 ID:BTxKZMwl.net] >>639 delimsに指定してもダメなの?
667 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 07:44:27 ID:CfjKoCjD.net] 半角スペースは文字列として扱いたいから<tab>だけを指定してるけどダメよー
668 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 09:16:41.59 ID:3V5uc2tI
] [ここ壊れてます]
669 名前:.net mailto: >>639 tabの間にスペースを入れてみた。 これは前処理なので、あとはお好きにどうぞ @echo off set "t=<tab>" call :x > test2.txt pause & goto :eof :x for /f "delims=" %%i in (test1.txt) do ( set a=%%i setlocal enabledelayedexpansion set a=!a:%t%%t%=%t% %t%! set a=!a:%t%%t%=%t% %t%! echo.!a! endlocal) <tab>にはタブを入力 [] [ここ壊れてます]
670 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 01:05:38 ID:hz4JPg2Q.net] おお、値の無い列には半角スペースを入れてしまうわけか こりゃ気付かんかったサンクス
671 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 01:06:30.14 ID:7bx1tfw6.net] バッチでフォルダの表示方法とかかえられないよ? 詳細にして 表示の種類に長さとか大きさとか いれたいんだけど それをワンクリックでやりたい https://i-bitzedge.com/wp-content/uploads/2016/03/Search-Contextual-tab-Windows-10.jpg 名前とか日付のとこに 長さとか大きさを追加するってことね
672 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 01:06:50.17 ID:7bx1tfw6.net] かえられないよの?
673 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 04:06:09.26 ID:t9dRWycX.net] >>645 レジストリ値弄れば出来たと思う。 昔職場の環境統一するのに使ってた。 詳細はRegshotとかで差分とって。 バッチからはRegコマンドで設定するかRegEdit /s で読み込むかのどちらか。
674 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 04:07:58.73 ID:t9dRWycX.net] >>645 設定後にShellの再起動も必要だったかも。
675 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 06:18:44.99 ID:SOm460Ps.net] >>646-647 レジストリか なるほど ちょっと色々調べてみます
676 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 16:55:31 ID:l8jrOhSU.net] こういうの実行するとサブフォルダのファイルでは空行ではなくピリオドが出力されるんですが何故ですか? まあ実用上の問題は無いんですが @echo off for /r %%i in (*.*) do ( echo "%%~nxi" echo. ) pause
677 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 17:08:49.51 ID:TZP99wd2.net] ピリオドとかコロンじゃなくて、カンマとかセミコロン使えばいいよ
678 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 17:16:19.46 ID:TZP99wd2.net] イコールもお仲間で、この3つが特別区切り記号らしいよ
679 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 17:18:33.06 ID:l8jrOhSU.net] >>650 はい、カンマを使うと問題が起きないことは確認していたのですがピリオドだと何故こうなるのか気になりました
680 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 17:23:09.51 ID:TZP99wd2.net] 特別区切り記号だから
681 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:05:52.87 ID:DvnYZkai.net] /rが悪さをしてるんじゃね サブフォルダの中でピリオドを2個にして
682 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 21:26:36.07 ID:qZ1/nSQb.net] startコマンドでAPを起動後、「F11」をバッチファイルから入力するには、どう記述すればいいのでしょうか?
683 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 01:34:54.95 ID:vipj7N9s.net] echo class Program{static void Main(){System.Windows.Forms.SendKeys.SendWait("{F11}");}}>temp.cs FOR /F %%i IN ('dir /b /s %WINDIR%\Microsoft.NET\Framework\csc.exe') DO set cscexe=%%i %cscexe% temp.cs temp.exe
684 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 11:28:21.34 ID:E0w5VXt3.net] >>656 ワラタ
685 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:39:52.06 ID:32sm7KoS.net] >>656 すごいな、プロ?
686 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 00:38:52.07 ID:ocAthgHy.net] ウイルスに使えそうw
687 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 18:09:54.44 ID:gPRn8RL/.net] 職業 プロバッチファイルスクリプター(自称)
688 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 00:09:22.71 ID:CW1qzWXe.net] %1がフォルダ名の場合、サイズを示す%~z1は0以外の数字になる 何を表しているのか不明
689 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 07:50:28.51 ID:sZ8rOkNi.net] エントリーレコードのsizeじゃね?テキトーmaybe
690 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 12:01:21.14 ID:c8Bqzbdx.net] >>662 そんな数字が多いですね \windows\winsxs や * だと違う表示も出るので意味不明、バグなのか
691 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 17:54:09.99 ID:LCDlLvJS.net] for の %~tI のみたいに簡単にディレクトリの作成日時を取得する方法教えてください dir /tc 何か | findstr findstr /e /c:"<DIR> ." みたいにして取り出して整形するのは何か間違えている気がしてならないので
692 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:56:32.19 ID:gZNl6+48.net] %~t1 とかで出てくるのは更新日時じゃなかった? 作成日時ならそれでいんじゃね? for /f "skip=3 tokens=1-3,5,6 delims=/: " %a in ('dir /tc %windir%') do ( echo %a%b%c%d%e goto :LOOPOUT ) :LOOPOUT pause 日時はシステム依存で表示形式変わるので整形したい形に適宜tokensやdelims、echoのとこ弄るといい 何に利用するのか知らないけど powershell なら秒まで取得出来るしバッチより痒いところに手が届く
693 名前:デフォルトの名無しさん mailto:sage [2020/01/02(木) 20:59:21.16 ID:gZNl6+48.net] 修正 %a→%%a echo %%a%%b%%c%%d%%e
694 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 08:18:43.19 ID:6GenP8Ub.net] ありがとうございます 何か一発でディレクトリ作成日時を取り出すなら PowerShell 使おう、 って話になるんですね、ミリ秒単位までいけるみたいですし
695 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 09:56:56.50 ID:+cYn5CAB.net] forfiles でフォルダの更新日時も得られる、ただしファイルが多いと遅い forfiles /M ファイル名 /C "cmd /c echo @fname @fdate @ftime" dirだと得られない秒もOK、仕様がばらばら、バッチは不思議
696 名前:デフォルトの名無しさん mailto:sage [2020/01/03(金) 13:02:11.21 ID:fh28MJ7p.net] 気まぐれに試してみたらskip=2と3の結果が同じでskip=4だった ifでちゃんと絞った方が良さげ for /f "tokens=1,3,4* delims= " %a in ('dir /ad /tc %windir%') do @if "%d"=="." @echo %a %b
697 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 01:23:14.19 ID:/SGph6WX.net] dir ? 親DIRがピリオド2文字なのに なぜ表示されるのか
698 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 07:59:26.77 ID:T5YxFwCT.net] . と .. はディレクトリ作成時に同時に作成されルート以外の全ディレクトリに存在する特殊な .link のようなモノ だから .. の(作成|更新)日時は自ディレクトリと同じ .. は親ディレクトリを指し示すが親ディレクトリとは別のモノ なぜと問われても、そういう仕様だから、としか
699 名前:デフォルトの名無しさん mailto:sage [2020/01/04(土) 09:10:30.39 ID:/SGph6WX.net] >>671 ピリオドは区切り文字であり、 ワイルドカードの?の文字数のカウントに含まれず。 ピリオドが先頭だと、最初のトークンは空文字列となり、 ?は一文字以下の文字列を表すので、それに合致するわけかな。 ちなみに >>670 はそれより前のレスとは無関係
700 名前:デフォルトの名無しさん mailto:sage [2020/01/05(日) 07:41:36.68 ID:QOfK3b7c.net] >>670 dir /b ? だと表示しない謎
701 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 09:00:53.84 ID:VNkic2h1.net] ディレクトリと同じ扱いだから
702 名前:デフォルトの名無しさん mailto:sage [2020/01/06(月) 09:51:26.33 ID:8LUwvv7f.net] 先頭にドットがあると要注意だよな ワイルドカードがドットを無視する場合があるから >copy nul .txt >copy nul txt >dir/b .txt txt >del txt* >dir ファイルが見つかりません
703 名前:デフォルトの名無しさん mailto:sage [2020/01/08(水) 10:00:17.73 ID:cX66OF4O.net] 簡単な処理だからbatでいいかと思って書き始めたら思ったより複雑になって、なんでbatで書いちゃったんだろってなるのいい加減
704 名前:竄゚たい [] [ここ壊れてます]
705 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 05:17:30.74 ID:yWGnEtOx.net] @echo off for /L %%a in (1,1,666) do set /a a+=%%a for /L %%a in (2,2,666) do set /a a+=%%a echo %a% pause for /L で遊んでたらなんか凄いの見付けた
706 名前:デフォルトの名無しさん mailto:sage [2020/01/09(木) 07:12:55.26 ID:hqwlnXXW.net] >>676 PowerShellでいいんじゃね?
707 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 04:34:01.53 ID:AQjsaOZ5.net] ドラッグ&ドロップ したファイル名を表示させようと思ってんだけど win10です テスト.bat ----------------------- @echo off for %%f in (%*) do ( echo %%f ) pause -------------------------- だとドラッグドロップしても画面が速攻消えてうまく起動しないんだけど( ちなみに @echo off echo %1 pause だけだとちゃんとフルパスで表示されます %%と%の違いってなんですか?
708 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 05:40:03.52 ID:FVJQifjo.net] 引数が最低1つ以上の場合 :LOOP echo "%~nx1" shift if not "%~1"=="" goto :LOOP pause 引数が0個の可能性がある場合 :LOOP if "%~1"=="" pause &exit /b echo "%~nx1" shift goto :LOOP
709 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 08:29:31 ID:B/evOggr.net] shift使わない方法でお願いします
710 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 08:39:02 ID:FVJQifjo.net] >>679 その方法だとファイル名やPathに&とか全角spとかダメ文字含む+半角spが無くて 引数がクオートされていない場合に上手く行かない がこの場合引数欠けるだけだと思うので落ちるのは文字コード(ShiftJIS)と改行コード(CR+LF)を確認
711 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 18:45:30.02 ID:Xdf1G9+g.net] WSLって専用スレあったりする?
712 名前:デフォルトの名無しさん mailto:sage [2020/01/17(金) 18:48:00.37 ID:T5MzU9c3.net] >>680 あー>>680 のやり方の方がいいわせか >>682 できましたありがとう
713 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 06:36:29 ID:77YAYmoS.net] >あー>>680 のやり方の方がいいわせか そうじゃない。いいも悪いもない。こういう方法もあるよと提示しただけ バッチはどうやってもバグを内包する。極論動けば何でもいい バグを発生させないよう限定された条件の元で利用するかバグ避けコードを書くかになる そういったのを理解した上で簡単な事をやるくらいならいいけど 少し複雑な事をしようとすると確実にあちらを立てればこちらが立たずで行き詰まったり面倒な事になる 面倒を避けたいなら初めからPowerShellとかでやった方がいい 今から覚えるなら尚更
714 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 08:02:35 ID:UuH5oHRt.net] >>679 ドラッグ&ドロップ したファイル名に たぶん ) があるんだろう a(1).txt とかね なぜ落ちるか自分で考えてみろ
715 名前:デフォルトの名無しさん mailto:sage [2020/01/18(土) 23:29:59.70 ID:jJ2WRqDf.net] >>686 それな バッチはこういう罠があるからPSに移行したわ コメント欄に迂闊に括弧も使えないしこわいこわい
716 名前:デフォルトの名無しさん mailto:sage [2020/01/23(木) 20:57:19.47 ID:qiuXI8ht.net] ネストされた環境変数が展開されない事象について https://social.technet.microsoft.com/Forums/ja-jp/0add404a-4157-416f-bf15-0ad455102d85/12493124731248812373124281238329872226592279325968123642363738?forum=Wcsupportja
717 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 21:47:29 ID:Nyn5xlpx.net] 2つのウィンドウで別フォルダを表示してファイル存在の有無によって選択/解除ができその後コピーや移動ができる、そんなファイラーがあったら便利だなと探してました。 WinZIP関係のソフトで7-zipというのがあり、なぜか
718 名前:解凍するとその中に7-zip file managerというのが入っていて 起動してみると左右で別フォルダを表示することができオッ、と思ったのですが、存在を比較する機能はありませんでしたorz ファイル存在比較 で検索したら 【バッチ作成】の文字が目にとまりページを開くと次のようなバッチファイルでした。コピー/移動作業前の確認用に 便利だなと思いました。実際はif existでもいいし、自分用に少し書き換えました @echo off echo AにあってBに無いファイル pushd \A for %%X in (*) do if not exist \B\%%X echo %%X popd echo BにあってAに無いファイル pushd \B for %%X in (*) do if not exist \A\%%X echo %%X popd popd、pushdってアスキーのラーニングシステムシリーズ本のMS-DOSのやつで最初に書かれていたんだけどまったく使わないわなんて思ってそのままでした。 [] [ここ壊れてます]
719 名前:デフォルトの名無しさん mailto:sage [2020/01/26(日) 23:31:16 ID:Jc09ZNe5.net] そんなことまで無理にcmdでやらんでも・・・ WinMergeすら入れさせてもらえない環境なのか?
720 名前:デフォルトの名無しさん mailto:sage [2020/01/27(月) 09:15:34 ID:+0QHC3Wk.net] 日記?