[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
214: デフォルトの名無しさん [sage] 2017/10/12(木) 18:25:29.18 ID:c/LUECgg start付けるとうまくいかないな 訂正 start "" /min /wait cmd /c "chcp 65001&cmd /u /c type %1>u_%1&cmd /u /c type %2>u_%2" fc /u /n u_%1 u_%2 http://mevius.5ch.net/test/read.cgi/tech/1489207631/214
215: デフォルトの名無しさん [sage] 2017/10/16(月) 01:07:49.23 ID:rrtzmh2c バッチファイル作っておいて以下のようなフォルダの名前の変更を毎回ダブルクリック一発で済ませたいのですが いろいろやってみたのですが、というほどの力もなく お知恵お貸し下さい 処理前のフォルダ名一覧 1008安住紳一郎の日曜天国 10月15日安住紳一郎の日曜天国 10月15日爆笑問題の日曜サンデー (1) 10月15日爆笑問題の日曜サンデー (2) 処理後のフォルダ名 1008安住紳一郎の日曜天国 1015安住紳一郎の日曜天国 1015爆笑問題の日曜サンデー (1) 1015爆笑問題の日曜サンデー (2) http://mevius.5ch.net/test/read.cgi/tech/1489207631/215
216: デフォルトの名無しさん [sage] 2017/10/16(月) 04:34:03.61 ID:3Tj/cKOj vbs 正規表現置換 ファイルリネーム http://mevius.5ch.net/test/read.cgi/tech/1489207631/216
217: デフォルトの名無しさん [sage] 2017/10/16(月) 08:11:27.58 ID:GL/w6Jlo >>215 for /f "delims=" %%a in ('dir /ad /b ^| findstr /b /r "[0-9][0-9]月[0-9][0-9]日"') do call :SUB "%%~a" exit /b :SUB set s=%~1 ren %1 "%s:~0,2%%s:~3,2%%s:~6%" http://mevius.5ch.net/test/read.cgi/tech/1489207631/217
218: デフォルトの名無しさん [sage] 2017/10/16(月) 23:00:12.58 ID:rrtzmh2c >>216 ヒント下さったようでありがとうございます。でも、ゼロから書き始めることが出来ないんです。 >>217 私の求めていた動作です。これで完璧、ありがとうございます ひと安心して解析に移ったわけです。。。 1. "[0-9][0-9]月[0-9][0-9]日" ↑これでは22月33日にも対応というわけか、こやつめハハハ フォルダ名の行頭部分は日付として機械的に生成される予想できる値ですので[0-9]で何の問題もないです。 勉強の為に、ここをいじってみました。 Month部分は、1 2 3...10 11 12、なら[1-12]で済むのかな。 ところが0埋めなので、01 02 03...10 11 12、となると、0[1-9]|1[0-2]、かな。 Day部分は、01 02 03...29 30 31、うーん0[1-9]|[1-2][0-9]|3[0-1]、となる。 これらを書き換えてみて、はい、動きませんでした。 今回のような自分用プログラムは動けばよいわけで、教えて下さった[0-9]で何の問題もない。 これ以上無駄な時間を掛けても&シンプルな方が可読性がよい http://mevius.5ch.net/test/read.cgi/tech/1489207631/218
219: デフォルトの名無しさん [sage] 2017/10/16(月) 23:01:09.80 ID:rrtzmh2c 2. for a in ('標準出力 パイプ 標準入力') do この部分、パイプの縦棒の左にくっついてる^は何者なのでしょう。。。初めて見ました。 アッ、日付部分が行頭だからか?いやfindstrに行頭オプションの/Bが付いてるし、そもそもパイプの左になぜ? 検索してみたのですがわからずここで冷や汗が出てきて ウーンこれはなんなんだろう。そもそもメタ文字なのか銅貨さえわからない。 3. そもそも何をしているのかというとradikoというプログラムでお気に入りのラジオ番組を録音しています。 AMラジオ番組ではCMのほとんどが過払い金のCMで聞きたくないのでスキップしたいのです。 ウォークマンで右ボタンを長押しすると早送り再生になるのですが、突然入るCMにイラッときて 長押しではなく短く押してしまって次のmp3ファイルに飛んでしまうのです。イライラッ! そこで1分ごとに分割してしまうことにしました。mp3directcutというソフトを使って切り出すことが出来ることを 知りました。そのうち、切り出し作業が面倒になって調べていくうちにコマンドラインでの実行も可能と分かり、 バッチファイル化の作業に掛かりました。出来上がったのは以下のような4行のバッチファイルです。 @echo on echo %* for /D %%a in (%*) do (mkdir "%%~na")&(copy 1min.mpd "%%~na".mpd)&(mp3directcut "%%~fa" /autocue "%~dp1%%~na")&(del "%%~fa")&(del "%%~na".mpd) pause 1min.mpdというのは1分ごとに切る指定が記述されているキューファイルです。同名の.mpdファイルがあるとそれを使ってくれるみたいなので、最初に元ファイルとして作っておきます。 1分ごとに切り分けられたものを再生してもけっこう大丈夫で、音楽だと気付く程度です。 いろいろ書いてしまいましたが頭が精一杯なのでとりあえずお礼申し上げ失礼ます http://mevius.5ch.net/test/read.cgi/tech/1489207631/219
220: デフォルトの名無しさん [sage] 2017/10/16(月) 23:34:41.57 ID:1IRdIkAf >>219 ^(キャレット)はエスケープ文字 これを付けずに実行すると、コマンドラインパーサで式評価時にパイプとして機能しちゃう つまりfor文の途中にパイプが現れてそこで途切れちゃうことになる やりたいことは、この行の最初の評価時には単なる|の文字として取り扱ってもらい 次の''で括ったコマンドの評価時にはパイプとして機能してほしいってわけ 1回の評価を→で表すとすると、 ^| → | ^^| → ^| → | ^^^^| → ^^| → ^| → | って感じに展開されていく(俺は3回まで使ったことがある) %a%とかの環境変数の評価も似たようなもんだね %%a%% → %a% http://mevius.5ch.net/test/read.cgi/tech/1489207631/220
221: デフォルトの名無しさん [sage] 2017/10/16(月) 23:49:53.08 ID:1IRdIkAf 環境変数の評価を遅延させる方法はつまり %%temp%%と%^temp%との2通り書けるわけだ (結果的に同じになるけど動作は違う) http://mevius.5ch.net/test/read.cgi/tech/1489207631/221
222: デフォルトの名無しさん [sage] 2017/10/16(月) 23:57:55.48 ID:1IRdIkAf >>221 これはコマンドプロンプトでのことでbatに書くときはダメだね http://mevius.5ch.net/test/read.cgi/tech/1489207631/222
223: デフォルトの名無しさん [sage] 2017/10/17(火) 00:03:17.05 ID:bWF1v8hX 評価と展開がごっちゃになってる 俺の理解が浅い(忘れっぽい)せいだな http://mevius.5ch.net/test/read.cgi/tech/1489207631/223
224: デフォルトの名無しさん [sage] 2017/10/17(火) 07:18:41.23 ID:3NFRyYoM ここで言ってる遅延と、いわゆる「遅延展開」は別物ですか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/224
225: デフォルトの名無しさん [sage] 2017/10/17(火) 09:05:40.81 ID:fpIKg5e5 >>218 >Month部分は、1 2 3...10 11 12、なら[1-12] []は文字集合。[]内の文字のうち何れか1文字という意味。文字列は扱えない [1-12]だと"1-1"と"2"という意味で1か2になる 01-12月、01-31日を表すのなら [01][0-9]月[0-3][0-9]日 [01]が0か1で十の位、[0-9]が0から9で一の位 桁の揃っている01なら可能だが1-12月はfindstrの貧弱な正規表現では1度に表すのは無理なので 1桁の場合と2桁の場合とを別けて検索文字列に設定する必要がある ちょ、誰か findstr /r "検索文字列" とfindstr /r /c:"検索文字列" の違いを教えてくれ。忘れた http://mevius.5ch.net/test/read.cgi/tech/1489207631/225
226: デフォルトの名無しさん [sage] 2017/10/17(火) 10:39:26.27 ID:AWu3veoe >>225 解説ありがとうございます とりあえず日付の所いろいろやってみてるのですがうまく行かないままです。 正規表現といわず直接文字列を指定して | が有効になるかどうかというところから実験してます。 for /f "delims=" %%a in ('dir /ad /b ^| findstr /b /r ""10月15日"|"10月16日""') do call :SUB "%%~a" pause exit /b :SUB rem set s=%~1 rem ren %1 "%s:~0,2%%s:~3,2%%s:~6%" findstrについての解説は検索で出てきた http://www.atmarkit.co.jp/ait/articles/0412/18/news018.html を読みました。読んだだけです。頑張ります http://mevius.5ch.net/test/read.cgi/tech/1489207631/226
227: デフォルトの名無しさん [sage] 2017/10/17(火) 11:38:46.09 ID:fpIKg5e5 >""10月15日"|"10月16日"" "で""を囲えないしfindstrの正規表現で|は使えない findstr /? まともな正規表現を使いたければvbsやPowerShell、Perlとか別のスクリプトに行ったほうがいい バッチだと"&"や"%"とかダメ文字があるし凝った事をやろうとするといずれ行き詰まる 急がば回れ http://mevius.5ch.net/test/read.cgi/tech/1489207631/227
228: デフォルトの名無しさん [sage] 2017/10/17(火) 22:45:54.56 ID:bWF1v8hX 参考にWSHでもどうぞ(hoge.jsファイルとして作成)、コマンドプロンプトから hoge "フォルダ名" (又は cscript //nologo hoge.js "フォルダ名") 又は、エクスプローラ等からフォルダをこのjsファイル(又はショートカット)にドロップして実行 var fso = new ActiveXObject("Scripting.FileSystemObject"); var args = WScript.Arguments; if(args.length<1) throw Error("引数にフォルダを指定してください"); if(!fso.FolderExists(args(0))) throw Error("指定のフォルダが存在しません"); var folder = fso.GetFolder(args(0)), s = "", success = [], fail = [], name, name2, em, i, r; var re = /^(\d{1,2})月(\d{1,2})日(.*)$/; var func_new_name = function(all,mm,dd,ss) { if(mm<1 || mm>12 || dd<1 || dd>31) return ""; return ("0"+mm).substr(mm.length-1) + ("0"+dd).substr(dd.length-1) + ss; }; em = new Enumerator(folder.SubFolders); for(em.moveFirst();!em.atEnd();em.moveNext()) { name = em.item().Name; if(re.test(name)) { name2 = name.replace(re,func_new_name); if(name2) { try{em.item().Name = name2; success.push(" "+name+" -> "+name2);} catch(e) {fail.push(" "+name+" -> "+name2);} } } } if(success.length>0) s = "リネーム成功\n"+success.join("\n"); if(fail.length>0) s += "\nリネーム失敗\n"+fail.join("\n"); WScript.Echo(s || "対象フォルダなし"); http://mevius.5ch.net/test/read.cgi/tech/1489207631/228
229: デフォルトの名無しさん [sage] 2017/10/17(火) 23:49:36.84 ID:G9wCIPXR もうPowerShellのRename-Item使おうぜ 個人用途だろうし制約ないでしょ http://mevius.5ch.net/test/read.cgi/tech/1489207631/229
230: デフォルトの名無しさん [sage] 2017/10/18(水) 02:49:24.30 ID:nuzaMfIv 覚えたてによく居るよね 要件無視した勝手な仕様でエラー判定とか結果ダイアログとかゴテゴテ実装してドヤ顔で持ってきちゃう子 http://mevius.5ch.net/test/read.cgi/tech/1489207631/230
231: デフォルトの名無しさん [sage] 2017/10/18(水) 02:57:26.06 ID:O0s7d+Fx まあダブルクリックで不意に実行されちゃうようなのは作りたくないよな http://mevius.5ch.net/test/read.cgi/tech/1489207631/231
232: デフォルトの名無しさん [sage] 2017/10/18(水) 07:04:24.46 ID:G1+K6kx+ >>215 無理やりバッチファイルの例 for /d %%i in (*) do set "a=%%~nxi" & call :w goto :eof :w setlocal enabledelayedexpansion set "e=m" & set /a b=0,m=0,d=0 :x set "c=!a:~%b%,1!" if not defined c goto :eof for /L %%j in (0,1,9) do if "!c!"=="%%j" set /a !e!=!e!*10+c & goto y if not "!c!"=="月" goto z if not "!e!"=="m" goto :eof if !m! gtr 12 goto :eof set "e=d" :y set /a b+=1 & goto x :z if not "!c!"=="日" goto :eof if not "!e!"=="d" goto :eof if !d! gtr 31 goto :eof set /a f=m*d,m+=100,d+=100,b+=1 if !f! gtr 0 ren "!a!" "!m:~1!!d:~1!!a:~%b%!" http://mevius.5ch.net/test/read.cgi/tech/1489207631/232
233: デフォルトの名無しさん [sage] 2017/10/18(水) 22:17:20.50 ID:on6I0HDV >>231 うちの現場のバッチは例え内部で使わなかろうが最低1つは必ず引数を渡す仕様になってる。 そしてそれが渡されなかった場合は処理せずに終了する作りになっている。 理由は誤ってダブクリしちゃった場合の対策なんだってさ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/233
234: デフォルトの名無しさん [sage] 2017/10/18(水) 22:23:22.61 ID:hY2xT5yc batって大体はD&Dして使うようなの書いてるな http://mevius.5ch.net/test/read.cgi/tech/1489207631/234
235: デフォルトの名無しさん [sage] 2017/10/19(木) 01:03:03.64 ID:cgLUQcTs >>230 なんか癇に障ったみたいだけど、言い訳すると 俺は、質問者によって回答内容を変えてる 今回の質問者は初心者だと感じたし、さらには細かい拘りを持っているように見受けられた (13月32日なんて作らないだろうし、もしあったって1332に変換されて悪いことはないと思う) 色々と手を加えて試行錯誤することが好きなんだろうなって思ったから 役に立ちそうな追加部分を記述した それに1レスで書く分には、数行増えようが関係ないだろうと思ったしね http://mevius.5ch.net/test/read.cgi/tech/1489207631/235
236: デフォルトの名無しさん [sage] 2017/10/19(木) 08:32:22.21 ID:ny4cf+Vz >>233 なるほど http://mevius.5ch.net/test/read.cgi/tech/1489207631/236
237: デフォルトの名無しさん [sage] 2017/10/19(木) 22:12:55.60 ID:JROgBEvY ザ・ワールド、時よ止まれ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/237
238: デフォルトの名無しさん [] 2017/10/20(金) 03:00:35.66 ID:1Na2h1P4 キッティングの自動化をしたいんだが、参考になるサイトない? http://mevius.5ch.net/test/read.cgi/tech/1489207631/238
239: デフォルトの名無しさん [] 2017/10/20(金) 03:00:59.71 ID:1Na2h1P4 対象のレジストリ見つけるとかめんどい http://mevius.5ch.net/test/read.cgi/tech/1489207631/239
240: デフォルトの名無しさん [sage] 2017/10/20(金) 23:41:00.84 ID:aZN6SiIl どの程度の自動化? http://mevius.5ch.net/test/read.cgi/tech/1489207631/240
241: デフォルトの名無しさん [sage] 2017/10/21(土) 08:56:40.19 ID:Nsvn2WYb >>238 何を自動化するん? http://mevius.5ch.net/test/read.cgi/tech/1489207631/241
242: デフォルトの名無しさん [sage] 2017/10/21(土) 16:42:48.10 ID:DofUW9OG そんなんツールが出てるんだからその説明でも読めよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/242
243: デフォルトの名無しさん [] 2017/10/21(土) 18:43:14.12 ID:TBS9tbdH 一発で、ファイアウォールの受信規則とかインターネットオプションとか http://mevius.5ch.net/test/read.cgi/tech/1489207631/243
244: 名無しさん@そうだ選挙に行こう! Go to vote! [] 2017/10/22(日) 07:51:26.89 ID:eb/3UN8i >>215 $before = ls -Directory | Where-Object { $_ -match "^\d+月\d+日" } $after = $before | foreach { $_.Name -replace '^(\d+)月(\d+)日', '$1$2' } $idx = 0; $before | foreach { Rename-Item -WhatIf $_.FullName $after[$idx]; $idx++; } PowerShell で書いたので、cd で、そのフォルダへ移動して実行して。 -WhatIf が付いているので、本当には実行せずに、結果だけを見れる。 本当に実行する際は、-WhatIf を削除して実行して 配列 $before には「02月03日」などで始まるフォルダだけを、入れる。 配列 $after には「02月03日」の部分だけを「0203」に変換した、フォルダ名を入れる Rename-Item で、該当する全フォルダ名を変換する http://mevius.5ch.net/test/read.cgi/tech/1489207631/244
245: 名無しさん@そうだ選挙に行こう! Go to vote! [sage] 2017/10/22(日) 14:53:59.01 ID:1YRZU7Jo 問題は、月を01〜12まで、日を01〜31までのチェックを入れることだけどね http://mevius.5ch.net/test/read.cgi/tech/1489207631/245
246: 名無しさん@そうだ選挙に行こう! Go to vote! [sage] 2017/10/22(日) 16:29:48.93 ID:rLFHcAK9 >>244 ls <directory-name> -directory | ren -newname {$_.name -replace '^(¥d+)月(¥d+)日', '$1$2' } lsの-filterやwhere-object使ってもいいけど この例の場合は不要だと思うよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/246
247: デフォルトの名無しさん [] 2017/10/23(月) 07:20:31.59 ID:A3jhOkfm ls -directory | ren -WhatIf -newname {$_.name -replace '^(\d+)月(\d+)日', '$1$2' } 上記で、where-object が無いと、 変更されないフォルダまで、表示されるのが気持ち悪い http://mevius.5ch.net/test/read.cgi/tech/1489207631/247
248: デフォルトの名無しさん [sage] 2017/10/23(月) 22:30:10.89 ID:TV21zs/8 Windows7SP1では、Get-ChildItemに-directoryオプションは無いんでエラーが表示された 調べたら、3.0以降でこのオプションが付いた模様 この際なので、5.0,5.1をインストールした Windows7の人の参考まで http://mevius.5ch.net/test/read.cgi/tech/1489207631/248
249: デフォルトの名無しさん [sage] 2017/10/24(火) 18:41:12.61 ID:QQrV41zo PowerShellのスクリプトファイルの拡張子は普通.ps1を使うが デフォルトではファイルの実行を許可してないし、 また許可後もダイレクトにファイル名を指定しても実行できない って保険かけすぎで入門者には敷居が高いだろと思わないでもないなあ >>247 where-objectを入れてみた (まだ2時間ぐらいしかやってないんでもっといい書き方があるかも) $re='^(\d+)月(\d+)日';ls -directory|? name -match $re|ren -whatif -newname {$_.name -replace $re,'$1$2'} このスレ的にはアリアス使うなら、lsよりもdirが合ってる気もするけど http://mevius.5ch.net/test/read.cgi/tech/1489207631/249
250: デフォルトの名無しさん [sage] 2017/11/03(金) 20:22:18.43 ID:+gpl8JNW ここで聞くべきか迷ったのですが… 自分のマシンからリモートデスクトップで接続できるサーバー(確かWin2008R2)があって そのサーバーと同じネットワーク内にクライアント端末(Win7)があります。 そのクライアント端末のプロセスをリモートデスクトップで接続したサーバーから確認することは可能でしょうか? (サーバーには管理者権限で接続しています) 要はクライアント端末でtasklistコマンドを打った結果が見たいのですが。 ちなみにクライアント端末はDHCP設定なので起動のたびにIPアドレスが変わります… 今は1日に何度も遠くにあるクライアント端末まで行ってプロセスを確認しています。 1回だけ行ってIPアドレスをメモるぐらいなら全然構わないので何か方法があれば教えて下さい。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/250
251: デフォルトの名無しさん [sage] 2017/11/03(金) 21:42:45.24 ID:91m0YuAi クライアントに自分のタスクリストをファイルを記録する周期ジョブを作成しておく 必要であれば暗号化しておく そのファイルをメールで自動送付するようにしておくか、 クライアントにwebエリアがあればそこに置きこちらから見にいく http://mevius.5ch.net/test/read.cgi/tech/1489207631/251
252: デフォルトの名無しさん [sage] 2017/11/03(金) 21:52:08.46 ID:z1gogpom >>250 サーバから tasklist /s クライアント端末名 (/u user /p pass) を実行では見れないんですか? ファイアウォールの設定が必要かもしれませんけど。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/252
253: デフォルトの名無しさん [sage] 2017/11/03(金) 22:47:57.34 ID:+QQUmgGP >>250 1) 他のPCのプロセス状態を知りたい 2) DHCPで設定されているPCのIPアドレスを知りたい ってことでいいかな 1) はtasklist の /s オプションで知りたいPCのIPアドレスを指定すれば行けるはず ただし事前にPC側に設定が必要 かつPCにログインできる情報が必要 2) は 2-1) 直接見に行ってipconfigで確認する 2-2) MACアドレスわかってるならサーバーからそのネットワークアドレス全体にpingを打ちつつarpコマンドで相手のMACアドレス確認していけばいい 2-3) DHCPサーバーを管理してるならPCのIPアドレスを確認する方法があるかも、まあそれならPCのIPアドレスを固定した方がいいかも 2-4) >>251みたいな方法で定期的にIPアドレスを通知してもらう http://mevius.5ch.net/test/read.cgi/tech/1489207631/253
254: 250 [sage] 2017/11/04(土) 18:18:26.62 ID:HSP2f8JH みなさん情報ありがとうございます。 来週になったらとりあえず>>252さんの方法を試してみます。(一番手軽なので…汗) それでダメな場合は一日一回直接IPアドレスを確認しにいく方式にします。 というのもpingのブロードキャストは現場のルールで禁止されてるっぽいので。 クライアント端末も特別な用途のためのものなのでタスク作ったり何かを仕掛けるのは厳しそうです。 仕掛けられれば業務はすごく楽になるんですけど「セキュリティ上問題が…」とか言われて突っぱねられる可能性大です。>< 尚、pingブロードキャスト以外の方法でIPを知る方法については自分でも調べてみます。 どうもありがとうございます。助かりました! http://mevius.5ch.net/test/read.cgi/tech/1489207631/254
255: デフォルトの名無しさん [sage] 2017/11/04(土) 18:30:41.27 ID:sTeHaJ1X >>254 >>252-253に書いてあるけど事前にクライアント側の設定しないとtasklist /sでプロセス情報見れないけど、そこは大丈夫なの? http://mevius.5ch.net/test/read.cgi/tech/1489207631/255
256: デフォルトの名無しさん [sage] 2017/11/05(日) 10:20:45.02 ID:rFS24mxQ set infilenm=001.txt set outfilenm=002.txt set beforestr="""" set afterstr="" type nul >%outfilenm% setlocal enabledelayedexpansion for /f "delims=" %%A in (%infilenm%) do ( set line=%%A echo !line:%beforestr%=%afterstr%!>>%outfilenm% ) endlocal 001.txtからダブルクォーテーションを削除して002.txtに保存したいだけなんですが、 3行目と4行目の表記がわからず、考えられる限り書き直して、うまくいきません。 あるいは別のBATでもいいのですが教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/256
257: デフォルトの名無しさん [sage] 2017/11/05(日) 11:42:01.62 ID:vm51NJQ8 >>256 set beforestr=^^" set afterstr=^^ でどうかな? http://mevius.5ch.net/test/read.cgi/tech/1489207631/257
258: デフォルトの名無しさん [sage] 2017/11/05(日) 11:56:26.30 ID:vm51NJQ8 ただ001.txtのデータ次第でうまくいかない場合があるんで 別のスクリプト言語(PowerShellやWSH等)で書いたほうがいい http://mevius.5ch.net/test/read.cgi/tech/1489207631/258
259: 256 [sage] 2017/11/05(日) 12:18:29.39 ID:rFS24mxQ >>257 >>258 素早いお答えありがとうございます。 >>257 >set beforestr=^^" >set afterstr=^^ ダブルクォーテーション消えました! ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/259
260: デフォルトの名無しさん [sage] 2017/11/05(日) 13:20:27.79 ID:vm51NJQ8 >>259 どういうことに使うのか知らないけど、大切なデータなら止めとくべき 改行だけの行が消えるのは知ってると思うけど以下のような行があると(回避は可能だが) ab!cd!ef a! "b ^ http://mevius.5ch.net/test/read.cgi/tech/1489207631/260
261: デフォルトの名無しさん [sage] 2017/11/05(日) 13:40:33.57 ID:rFS24mxQ >>260 ご心配ありがとうございます。 大丈夫です。ものは、<a href とかのhtmlタグで作成したリンクリストで、 正規表現とかエスケープっぽい記号等はなく、 そもそもプライベートファイルなので、これで素早くリストができて万々歳です。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/261
262: デフォルトの名無しさん [sage] 2017/11/06(月) 15:18:34.73 ID:K1roLwuw >>260 これじゃダメか? ていうかダメな例を教えてほしい for /f "delims=" %%i in (1.txt) do ( set a=%%i setlocal enabledelayedexpansion echo !a:^"=!>>2.txt endlocal ) http://mevius.5ch.net/test/read.cgi/tech/1489207631/262
263: デフォルトの名無しさん [sage] 2017/11/06(月) 15:59:22.60 ID:K1roLwuw 半角スペースだけの行は化けるな http://mevius.5ch.net/test/read.cgi/tech/1489207631/263
264: デフォルトの名無しさん [sage] 2017/11/06(月) 19:12:27.47 ID:Mdq5cGE3 echo,とか、echo;とかで http://mevius.5ch.net/test/read.cgi/tech/1489207631/264
265: デフォルトの名無しさん [sage] 2017/11/06(月) 23:15:25.56 ID:RrRem/45 バッチファイルに渡された引数が1つなのか2つなのかを判定したいのですが どのように記述すれば良いのでしょうか? 以下ではダメでした。 if defined %2 echo 引数は2つです else echo 引数は1つです http://mevius.5ch.net/test/read.cgi/tech/1489207631/265
266: デフォルトの名無しさん [sage] 2017/11/07(火) 01:14:40.14 ID:xsgE2wk0 if not '%2==' http://mevius.5ch.net/test/read.cgi/tech/1489207631/266
267: デフォルトの名無しさん [sage] 2017/11/07(火) 07:09:27.79 ID:4pg/kk0r >>264 ありがとう for /f "delims=" %%i in (001.txt) do ( set "a=%%i" setlocal enabledelayedexpansion set "a=!a:"=!" echo.!a!>>002.txt endlocal ) これで空行以外は完璧かな? http://mevius.5ch.net/test/read.cgi/tech/1489207631/267
268: デフォルトの名無しさん [sage] 2017/11/07(火) 10:05:04.55 ID:1287flJj >>262の奴で "echo "を"echo."にするとダメなのに"echo,"にするとOKなのは何故なんだぜ? 今まで、ピリオドとカンマ、セミコロンに違いがあるとは思ってなかったから ずっとピリオド使ってたのに http://mevius.5ch.net/test/read.cgi/tech/1489207631/268
269: デフォルトの名無しさん [sage] 2017/11/07(火) 22:51:26.28 ID:4pg/kk0r >>267 "eol=" を指定しないと行頭文字が ; だと読み飛ばす "delims=" を指定しないと行頭の空白が無くなる 両方同時に指定する方法はあるのか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/269
270: デフォルトの名無しさん [sage] 2017/11/08(水) 00:22:28.07 ID:X1Aytah6 for /f delims^=^ eol^= http://mevius.5ch.net/test/read.cgi/tech/1489207631/270
271: 265 [sage] 2017/11/08(水) 00:40:11.94 ID:pQrS+Zxc >>266 バッチリでした!THANKS! http://mevius.5ch.net/test/read.cgi/tech/1489207631/271
272: デフォルトの名無しさん [sage] 2017/11/08(水) 19:40:30.74 ID:VTzaN0jn >>268 「,」「;」「=」は特別区切り文字だから。 例えば、C:\直下に「a」ってフォルダ作って 「b.cmd」 for /f %%a in ('echo,b') do echo,%%a 「b b.cmd」 echo;c %1 pause のバッチ作成して、コマンドプロンプトで「C:\a」に移動してから 「b.cmd」を実行すると、()の中の「,」が消えた状態で表示される 「b b.cmd」を実行すると、「b.cmd」が実行される 「"b b.cmd"」を実行すると、「b b.cmd」が実行される 今度はファイル名を指定して実行で cmd /c "C:\a\b b.cmd" cmd /c "C:\a\b b.cmd" dを実行すると、pauseで止まるけど cmd /c "C:\a\b b.cmd" "d"を実行すると、一瞬で終わる cmd /c,"C:\a\b b.cmd" "d"なら動く 結構知られていないんだよね。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/272
273: デフォルトの名無しさん [sage] 2017/11/08(水) 22:40:59.50 ID:ZHWfUJ7q >>270 ありがとう。完全に動作しました そもそも eol の既定値が ; だとかヘルプに書いてないぞ ちなみに "eol=" とすると eol が空になるのかと思ったら 今度は行頭に " があると読み飛ばすようです 何なんだ、これは。for 文のバグですかね http://mevius.5ch.net/test/read.cgi/tech/1489207631/273
274: デフォルトの名無しさん [sage] 2017/11/09(木) 12:26:56.09 ID:NEfZ8eBs @echo off prompt $g set a=/? set b=exe set c= off echo on echo,%a% echo;%a% echo.%a% echo.%b% echo.%c% echo pause http://mevius.5ch.net/test/read.cgi/tech/1489207631/274
275: デフォルトの名無しさん [sage] 2017/11/10(金) 12:50:53.03 ID:5BeFn7Xg 一時的なwindows資格情報の付与 付与→(再起動)→ポップアップを閉じるまで作業→(再起動) の流れをバッチ実行一発で済ませたいと思ってる。 (○.bat) cmdkey 書き込み copy **.batを配置 schtasks 再起動後のタスク登録(**.bat実行) shutdown 再起動 ↓ (ログイン) (**.bat) echoでmsgbox表示(閉じるまで待つ) cmdkey /delete ←ここで資格情報が消えない schtasks /Delete タスク消去 del /f "%~dp0 自己消去 タスクは一応highest タスク実行だとcmdkey通らないとかある? bat素人で何が原因で消えないのかわからない・・・ ポップアップ表示中にcmd開いてcmdkey打つとちゃんと消える http://mevius.5ch.net/test/read.cgi/tech/1489207631/275
276: 275 [sage] 2017/11/10(金) 18:22:22.05 ID:5BeFn7Xg 回りくどい方法ですが自己解決できました。 .vbsにcmdkey /deleteを入れ cmdの管理者権限起動用ショートカットを作成 schtasks からhighestをぬいて、管理者権限でcmdを再起動 vbsを実行で資格情報を消すことができました。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/276
277: デフォルトの名無しさん [] 2017/11/11(土) 23:58:13.74 ID:Smy5DbHD copy /b 1.mp4+2.mp4 3.mp4 上記で結合した3.mp4の動画に2.mp4の内容が追加されないのですがなぜかわかりますか? 3.mp4のファイルサイズだけは1.mp4+2.mp4の容量になっています すぐ出来ると思ったのにつまづいた泣 http://mevius.5ch.net/test/read.cgi/tech/1489207631/277
278: デフォルトの名無しさん [sage] 2017/11/12(日) 01:15:27.00 ID:1rXZudmc >>277 ちゃんと結合されている バイナリで結合してフォーマットが1.mp4の分しかないだけ コマンドプロンプトでなく動画フォーマットの勉強しろ http://mevius.5ch.net/test/read.cgi/tech/1489207631/278
279: デフォルトの名無しさん [] 2017/11/12(日) 01:38:03.29 ID:/fk063EO >>278 ありがとうございます 出直します http://mevius.5ch.net/test/read.cgi/tech/1489207631/279
280: デフォルトの名無しさん [] 2017/11/12(日) 14:54:34.48 ID:GpB3XqQ3 動画形式の勉強など、自分でやるものじゃない 動画編集アプリを使うべき http://mevius.5ch.net/test/read.cgi/tech/1489207631/280
281: デフォルトの名無しさん [sage] 2017/11/12(日) 14:57:17.00 ID:43gC7oaU 今の編集アプリだとmp4再エンコしなくてもそのまま繋げられるのかな? http://mevius.5ch.net/test/read.cgi/tech/1489207631/281
282: デフォルトの名無しさん [sage] 2017/11/12(日) 15:08:29.51 ID:MOg5phwx >>280 バッチから結合を指示できる動画編集アプリよろしくね http://mevius.5ch.net/test/read.cgi/tech/1489207631/282
283: デフォルトの名無しさん [sage] 2017/11/12(日) 15:14:20.67 ID:Xj6DjuPw ffmpegでええやん http://mevius.5ch.net/test/read.cgi/tech/1489207631/283
284: デフォルトの名無しさん [] 2017/11/20(月) 14:42:11.56 ID:rhJshzCP 64bitOS環境 バッチ1つでWOW64内のcmdで実行する方法ってありますか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/284
285: デフォルトの名無しさん [] 2017/11/20(月) 15:06:54.45 ID:rhJshzCP すみません普通にSTARTで呼んでできました… http://mevius.5ch.net/test/read.cgi/tech/1489207631/285
286: デフォルトの名無しさん [sage] 2017/11/22(水) 13:08:53.67 ID:i4qRIFe0 呼び出し元バッチに戻る終了方法を追加してほしい exit /B だとcmdを終わるだけ戻らない call で呼び出さなくても戻る機能をつけてほしい exit /r や return文で http://mevius.5ch.net/test/read.cgi/tech/1489207631/286
287: デフォルトの名無しさん [sage] 2017/11/23(木) 17:36:40.78 ID:cAVsYuht startに待つオプションあるだろ http://mevius.5ch.net/test/read.cgi/tech/1489207631/287
288: デフォルトの名無しさん [sage] 2017/12/06(水) 10:57:13.74 ID:RImq1PQL >>281 昔から無劣化で繋げられるけど?? http://mevius.5ch.net/test/read.cgi/tech/1489207631/288
289: ファイルアクセス監視 [] 2017/12/23(土) 19:00:05.09 ID:Jw1Bivzx ダウンロードしたローカルアプリ(Jane Styleなど)が 重要な場所のローカルファイルから情報を盗もうとしてないかどうか念のため監視したいのですが、 https://technet.microsoft.com/ja-jp/sysinternals/handle.aspx このdosで使える handle は出力ファイル名の日本語が文字化けするんですが、何かいい方法ないですか? 文字化け以外に関しては非常に便利です 出力をdosで加工してエクスプローラーのログを除外して、ユーザー+プロセス+ファイル名が初登場の時だけ出力してます これでもし見慣れないファイルアクセスがあったら目立ちます(GUI系はリアルタイムで消えるので) http://mevius.5ch.net/test/read.cgi/tech/1489207631/289
290: デフォルトの名無しさん [sage] 2017/12/23(土) 22:54:57.75 ID:FPRjmoIB ファイル名のようなシステム要件には、半角英数字だけを使う。 半角空白も使うな。Mac でバグる すべてのアプリの開発者が、多国語のファイル名では、テストしていないから、 多くのアプリでバグる 特に、書庫を使う、圧縮解凍アプリでバグる http://mevius.5ch.net/test/read.cgi/tech/1489207631/290
291: デフォルトの名無しさん [sage] 2017/12/24(日) 08:43:36.04 ID:WeE5WMFr echo. で空行を表示できると知りましたが この「.」には何の意味があるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/291
292: デフォルトの名無しさん [] 2017/12/24(日) 15:38:49.19 ID:9EARh1KB >>291 意味を考えてはいけません。調べてませんが、英語のピリオドなので文字列なしで終わりという意味合いからそうしたのでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/292
293: デフォルトの名無しさん [sage] 2017/12/24(日) 15:51:26.20 ID:nsKMF0PM echoの直後の文字列は出力されないんだっけ? 「.」の以外の文字列でも空行になるけど1番問題が起きにくいとかそんなのかな http://mevius.5ch.net/test/read.cgi/tech/1489207631/293
294: デフォルトの名無しさん [sage] 2017/12/24(日) 18:22:33.52 ID:T/PAdelQ ちょっと前にその辺の話が出てた >>264-274 http://mevius.5ch.net/test/read.cgi/tech/1489207631/294
295: デフォルトの名無しさん [sage] 2017/12/26(火) 01:03:48.59 ID:9+DFjrUc 特別区切り文字というものがあるなんてここで初めて知ったんだけど…(本当かどうかはまだ確かめていない)。 もはや紙媒体で信用できる会社からの体形的な出版物が無いのよね。 …ある?? http://mevius.5ch.net/test/read.cgi/tech/1489207631/295
296: デフォルトの名無しさん [sage] 2017/12/26(火) 01:08:10.71 ID:NGPwifm5 こんなのは仕様じゃなくて実装上の結果にすぎない undocumennt specと言ってもいいが、正式な本に仕様として載るようなもんじゃないと思う http://mevius.5ch.net/test/read.cgi/tech/1489207631/296
297: デフォルトの名無しさん [sage] 2017/12/26(火) 01:23:11.58 ID:9+DFjrUc >>296 そりゃ分かるんだけど…。 UNIX の bash だっておかしいところが結構あってさ。 でも「構文解析が未熟な時代、全てを(記号ですら)コマンドだと置いた結果」という説明の仕方ができるそうな。 C言語の仕様だっていい加減後付けが多い。でも説明を試みた結果がANSI。無理が多いけど。 Windows界隈ってそういうのが貧しいと思う。 スレ違いだけど、PowerShell も Core とか言い出してからなんかおかしくないか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/297
298: デフォルトの名無しさん [sage] 2017/12/27(水) 01:13:01.79 ID:1X8kZn43 bashはかなーり最近のプロダクトだと思うのだが http://mevius.5ch.net/test/read.cgi/tech/1489207631/298
299: デフォルトの名無しさん [sage] 2017/12/27(水) 19:45:46.24 ID:8XzWQMmb >>297 特別区切り文字という言葉はアレだけど cmd /? で表示されるヘルプの最終行に =;, は特別な文字として列挙されてますよ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/299
300: デフォルトの名無しさん [sage] 2017/12/28(木) 06:04:09.70 ID:HvFHYdEd >>297 要はさんざん検証して挙動を確認しないと恐くて使えないってこったなw http://mevius.5ch.net/test/read.cgi/tech/1489207631/300
301: デフォルトの名無しさん [sage] 2017/12/28(木) 07:32:44.10 ID:psxJdr/O 関係ない話ですまんが いまだに cmd /? の表示が変だな、一部重複してる マイクロソフトは直す気が無いのか たぶんNTの頃から変なんだが http://mevius.5ch.net/test/read.cgi/tech/1489207631/301
302: デフォルトの名無しさん [sage] 2017/12/28(木) 08:43:15.72 ID:V28V958v バグレポートに誰も上げていないか、 あるいは上げられていても優先順位がものすごく低いのでしょう。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/302
303: デフォルトの名無しさん [sage] 2017/12/28(木) 18:35:17.03 ID:QlD4+lUL >>302 非成長分野、非収益持ち出し分野とみなされて、最低限の人数しかいないのでは おまけに優秀なのは来ない http://mevius.5ch.net/test/read.cgi/tech/1489207631/303
304: デフォルトの名無しさん [sage] 2017/12/28(木) 19:17:17.28 ID:uuf5XAZw 優秀な奴はさらっと変更して賞賛されるけど、 そうじゃない奴がさらっと変更すると、 勝手なことすんなって怒られるんだよな。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/304
305: デフォルトの名無しさん [sage] 2017/12/28(木) 22:46:38.96 ID:8hIgR6GI bash が最近のプロダクトだとか…ヨボヨボの痴呆が入ったおじいちゃんか? UNIX で bash が出たのって 20世紀なんだが。 >>299 これのことか?明らかに違う。 > 引用符が必要な特別な文字は次のとおりです: > <スペース> > &()[]{}^=;!'+,`~ >>300 自分が新規で書けるなら VBScript でいい。 「これは例外、あれも例外、それも例外」なブツなんか触りたくない。 そんな時間があるなら生産的な言語に費やしたい。 触らざるを得ないからイラつく。阿呆か。 PowerShell は Windows の自動化から管理系を抜き出した方向に行こうとしているので何だかねぇ… http://mevius.5ch.net/test/read.cgi/tech/1489207631/305
306: デフォルトの名無しさん [sage] 2017/12/29(金) 00:43:01.22 ID:oAr+Y8wr >>305 GNU後の新造品じゃねーか。モダンもいいところだろ。 歴史を知らないバカとは話が出来ないってのは本当だな。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/306
307: デフォルトの名無しさん [sage] 2017/12/29(金) 07:36:55.45 ID:kfbFSvw+ 今時VBScriptとか言ってる老害の相手するなよ... http://mevius.5ch.net/test/read.cgi/tech/1489207631/307
308: デフォルトの名無しさん [sage] 2017/12/29(金) 08:54:48.93 ID:oAr+Y8wr 年寄りのくせにGNU前を知らないんだとしたら、死んだ方がいいね。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/308
309: デフォルトの名無しさん [sage] 2017/12/29(金) 10:58:34.56 ID:dNvcaBYU VBScriptは依然として結構イケると思うけどな http://mevius.5ch.net/test/read.cgi/tech/1489207631/309
310: デフォルトの名無しさん [sage] 2017/12/29(金) 14:50:59.06 ID:Xr0syokO 真面目にそう思ってるならちょっとヤバイぞ http://mevius.5ch.net/test/read.cgi/tech/1489207631/310
311: デフォルトの名無しさん [sage] 2017/12/29(金) 17:11:52.20 ID:oAr+Y8wr VBAと混同してる人がいるようだ http://mevius.5ch.net/test/read.cgi/tech/1489207631/311
312: デフォルトの名無しさん [] 2017/12/29(金) 23:12:55.18 ID:1POkgVP3 >>298 はあ? http://mevius.5ch.net/test/read.cgi/tech/1489207631/312
313: デフォルトの名無しさん [sage] 2017/12/30(土) 17:45:48.22 ID:RVllgMXp バッチファイルなのになんでVBの話になるのん http://mevius.5ch.net/test/read.cgi/tech/1489207631/313
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 689 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s