[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
31: デフォルトの名無しさん [sage] 2017/03/28(火) 18:52:24.94 ID:IKXgMhqU 少し考えれば分かりそうなものだが %cmdcmdline% http://mevius.5ch.net/test/read.cgi/tech/1489207631/31
33: デフォルトの名無しさん [sage] 2017/04/03(月) 06:06:20.82 ID:awE7Wvau バッチ書くのにオススメのエディタあったら教えて 最近目がめっきり弱くなって来たので色分け表示とかの視認性上がるものや 便利そうな機能があるものを知りたい 頻繁に使うわけじゃないからこそ探すの面倒で先人の知識をお借りしたい http://mevius.5ch.net/test/read.cgi/tech/1489207631/33
126: デフォルトの名無しさん [sage] 2017/07/16(日) 11:23:45.75 ID:FHjtOHLZ そもそもバッチファイルって何? CでもBasicでもなく、メモ帳の拡張子をbatに変えるだけで良くて、 コマンドブロンプトとかいう、MS-DOSと何が違うのかわからないような画面で動いて、 何なの? http://mevius.5ch.net/test/read.cgi/tech/1489207631/126
175: デフォルトの名無しさん [sage] 2017/08/29(火) 14:35:48.67 ID:91TLAHUR フォルダの中に、あああ_1.flv あああ_2.flv … あああ_100.flvのようなファイルがあるときに、あああ_1.flvをあああ_001.flvのようにリネームしたりできないんでしょうか http://mevius.5ch.net/test/read.cgi/tech/1489207631/175
196: デフォルトの名無しさん [sage] 2017/09/18(月) 00:06:56.51 ID:AVBMNnfo 短いファイル名に関していくつか質問 1 短いファイル名はダブルクオーテーションで囲まなくても実行可能? 2 短いファイル名は取得して一ヶ月経っても変動せずにそのパスを実行出来る? http://mevius.5ch.net/test/read.cgi/tech/1489207631/196
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
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
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
322: デフォルトの名無しさん [] 2018/01/18(木) 18:41:39.14 ID:lAsosfYH set TARGET=%TARGET:playlist=chunklist% @rem ffmpegで動画吸い出し ffmpeg -c copy "%TITLE%.ts" -i "%TARGET%" @rem 最後にcurlで出力したソースファイルを削除 @rem for /R %%f in (*.) do del /Q "%%f" pause exit :ERROR echo 引数が無効のため処理できませんでした pause exit このようなbatファイルを作ったのですが、どうしても最後に sourcefile=https://station303.openrec.tv/live1/667d4bef5cb4af8db6b9198cab7b3148e957e477/chunklist.m3u8: Invalid argument と無効な引数と言われてしまい動画の吸い出しが出来ません 完全に手詰まりなため、丸投げにはなってしまいますがご教授いただければと思います よろしくお願いします http://mevius.5ch.net/test/read.cgi/tech/1489207631/322
329: デフォルトの名無しさん [sage] 2018/01/29(月) 14:21:26.57 ID:e8Iu9+Yp compフォルダ配下にはa,b,c,…ってフォルダがあって、 そのフォルダの中にはzipとrarの圧縮ファイルがある compopenってフォルダを作って、compの中のフォルダ階層は変えないで、compopenフォルダ内のaやb,cのフォルダにそれぞれすべて展開させたいときってどうするの? zipやrar毎にフォルダ作って展開させたい D:/ ├comp/ │ └ a/ │ └ 111.zip │ └ 222.zip │ └ b/ │ └ xx1.rar │ └ xx2.rar │ └ c/ │ └ ttt.zip │ └ rrr.rar D:/ ├compopen/ │ └ a/ │ └ 111/ │ └ 222/ │ └ b/ │ └ xx1/ │ └ xx2/ │ └ c/ │ └ ttt/ │ └ rrr/ http://mevius.5ch.net/test/read.cgi/tech/1489207631/329
338: デフォルトの名無しさん [sage] 2018/02/05(月) 04:53:11.12 ID:j3KUW6ez 1.test.exeという実行ファイルがある。 2.test.exeのフルパスは必要に応じて「test.exeをShift+右クリック」→「パスをコピー」して変数testExeに格納してもらう。 このフルパスには"D:\a bc\test.exe"のように空白が含まれることがあるとする。 3.FOR文でこのtest.exeを--helpオプションつきで実行し、結果からfindstr&setしたい。 ---作成バッチ--- @echo off cd /d %~dp0 set testExe="D:\a bc\test.exe" FOR /F "tokens=3" %%a IN ('%testExe% --help ^| findstr "TargetStr"') DO ( set kekka=%%a ) @echo %kekka% pause ---実行結果--- 'D:\a' は、内部コマンドまたは外部コマン ド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ---解1--- testExeを設定する際、全体をダブルクォートで囲むのではなく、 空白を含むフォルダだけをダブルクォートで囲むようにする。 set testExe=D:\"a bc"\test.exe 解1はtestExeの設定が地味に面倒になってしまうので回避したいのですが、何か良い方法はないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/338
377: デフォルトの名無しさん [sage] 2018/02/20(火) 00:57:48.56 ID:amqSspGZ Windows のコマンドプロンプトから、 wsl bash -c "echo 'hello'" 出力結果 : hello これぐらいのLinux の起動・実行・終了は、1秒! 定時処理ぐらい楽勝 サーバーみたいに常時実行しなければ大丈夫 http://mevius.5ch.net/test/read.cgi/tech/1489207631/377
419: デフォルトの名無しさん [sage] 2018/03/17(土) 21:16:57.69 ID:Eknm4yJC @echo off set n0=0 set n1=0 set n2=0 set file="xxx.txt" set newfile="new.txt" set word=xxx type nul>new.txt for /f "tokens=1* delims=:" %%i in ('findstr /n "." %file%') do set n0=%%i for /f "tokens=1* delims=:" %%i in ('findstr /n /c:"%word%" %file%') do set n1=%%i for /f "tokens=1* delims=:" %%i in ('findstr /n /c:"-- %word%" %file%') do set n2=%%i if %n0% equ %n1% if %n1% neq %n2% goto :eof if %n0% equ %n2% (call :del-line %n2%) else (copy /y %file% %newfile%>nul) call :add-line move /y %newfile% %file%>nul goto :eof :del-line for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" %file%') do if %%i neq %1 echo;%%j>>%newfile% goto :eof :add-line echo;%word%>>%newfile% goto :eof http://mevius.5ch.net/test/read.cgi/tech/1489207631/419
424: デフォルトの名無しさん [sage] 2018/03/18(日) 05:31:06.94 ID:5/8yH4g6 set /a a0=0,b=0,c=1,e=1 for /f "delims=: tokens=1*" %%i in ('findstr /n .* in.txt') do ( set "a%%i=%%j" if defined a%%i set /a b=%%i set /a c=%%i+1 ) setlocal enabledelayedexpansion if not "!a%b%!"=="!a%b%:hoge=!" set /a c=b set "a%c%=hoge" del out.txt :y echo.!a%e%!>>out.txt set /a e+=1 & if !e! leq !c! goto y http://mevius.5ch.net/test/read.cgi/tech/1489207631/424
437: デフォルトの名無しさん [sage] 2018/03/19(月) 09:11:01.79 ID:cAxnz/N1 set /a a=0,b=0,c=0,d=1 & del out.txt 2> nul for /f "delims=:" %%i in ('findstr /n . in.txt') do set /a a=%%i for /f "delims=:" %%i in ('findstr /n hoge in.txt') do set /a b=%%i if %a%==%b% set /a c=b for /f "delims=0123456789 tokens=*" %%i in ('findstr /n .* in.txt') do ( set "e=%%i" setlocal enabledelayedexpansion if !d!==!c! goto x echo.!e:~1!>>out.txt endlocal set /a d+=1 ) :x echo hoge>>out.txt http://mevius.5ch.net/test/read.cgi/tech/1489207631/437
501: デフォルトの名無しさん [sage] 2018/05/01(火) 06:45:44.95 ID:aXoGd7xG 64桁の10進数を16進数に変換する方法、探したけど見つからなくて バッチファイルだけでやるのは無理があるでしょうか。 javascriptでなら巨大な桁数いけるサイトはあったのですが バッチファイル内で大量に処理したいのです。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/501
509: デフォルトの名無しさん [sage] 2018/05/02(水) 03:07:32.00 ID:KFhIKBMV batでも出来るんだけど、実用な時間で出来るかと言われると何ともねえ @echo off setlocal set hex=0123456789ABCDEF set in=1234567890 set out= set bin= :loop call :div2 in s set bin=%s%%bin% if defined in goto :loop :loop2 set h=000%bin:~-4% set /a h=("%h:~-4,1%<<3")+("%h:~-3,1%<<2")+("%h:~-2,1%<<1")+%h:~-1% set bin=%bin:~0,-4% call set out=%%hex:~%h%,1%%%out% if defined bin goto :loop2 echo.0x%out% endlocal goto :eof :div2 set dst= set s=0 :divloop set d=%in:~0,1% set in=%in:~1% set /a s=s*10+d set /a h="s>>1" set /a s%%=2 if defined dst (set dst=%dst%%h%) else if %h% gtr 0 set dst=%dst%%h% if not defined in set in=%dst%&goto :eof goto :divloop http://mevius.5ch.net/test/read.cgi/tech/1489207631/509
514: デフォルトの名無しさん [sage] 2018/05/02(水) 07:02:56.10 ID:ESv7owpX >>509 元の質問者じゃないけど、これ動かすとたまに「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」って出る。 自分で書いたbatもループとかcallが多いとこれが出たりリダイレクトに失敗してたりする事があるんだけど何が原因? ごくごく稀に飛ぶはずのないラベルに飛んで動作不良起こしたりもする。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/514
569: デフォルトの名無しさん [sage] 2018/07/08(日) 09:59:18.33 ID:48/+VLR1 ファイル名に半角スペースを含んで拡張子も一つじゃない複数のファイルをドロップしてファイルごとに処理したいんだけどどうfor書いたらいい? 今はこんな感じで書いてるんだけど半角スペースで切れちゃう for %%f in (%*) do ( echo "%%~nxf" ) http://mevius.5ch.net/test/read.cgi/tech/1489207631/569
626: デフォルトの名無しさん [sage] 2018/07/15(日) 00:45:51.50 ID:LqRrN2Y+ リダイレクト使ってバッチ内に記述したテキストをファイルに出力すると、行数が増えるにつれて どんどん処理が遅くなるんですが(多分ファイルのオープンとクローズの処理が重たい んだとは思うけど)、何十行もあるテキストでも一括で書き込んで早くする方法とかないですか? ただ不思議なのは、ソースとなるテキストを別のテキストファイルからforで読み込みして 各行を逐次出力ファイルにリダイレクトで書き出した場合はそんなに遅くないんですよねぇ。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/626
627: デフォルトの名無しさん [sage] 2018/07/15(日) 07:47:51.60 ID:3kOM020K >>626 俺はそう思ったことはないなぁ…具体的なコードを見せて。 一括での書き込みは、処理をカッコで括るとできる。 ( echo start : : echo end ) > test.txt http://mevius.5ch.net/test/read.cgi/tech/1489207631/627
643: デフォルトの名無しさん [sage] 2018/07/19(木) 08:15:18.80 ID:31+wDFSY プロセスが特定の文字列を出力したら処理を終了させたくて下記のようなの書いてみたけど思うように動かないです。 process.exe | find "hoge"&&TASKkill /F /im process.exe &&で指定したコマンドは元のプロセスが終了しないと実行されないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/643
687: デフォルトの名無しさん [sage] 2018/08/03(金) 10:35:50.90 ID:w2m/pEoW windows板のスレに書いてしまったので詳細はそちらを参照して頂きたいのですが https://mevius.5ch.net/test/read.cgi/win/1381119881/327 この件について詳細をご存知の方あるいは解説されているサイトをご存知の方は ご教示頂けないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/687
706: デフォルトの名無しさん [sage] 2018/08/12(日) 09:09:39.33 ID:pT5cyKVs >>703 echo hoge > test.txt て書くと「hoge」の後の半角空白までがtest.txtに出力されるんだよ。 >>704 代入しなくても、errorlevel を環境変数として判定に使うと正常に動かない場合がある。 具体的には echo n | comp A.exe B.exe >NUL 2>&1 if not "%ERRORLEVEL%"="0" ( : このとき、何故か%ERRORLEVEL% は常に「0」。バイナリ不一致でも「0」。 echo n | comp A.exe B.exe >NUL 2>&1 if not errorlevel 1 ( : だと正常に動く。何故だか分からない。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/706
740: デフォルトの名無しさん [sage] 2018/08/15(水) 21:05:55.42 ID:cg3gjcxB 悪いけど、Windowsバッチに鉄板を求めるのも、追いかけるのも無駄。 歴史的経緯でそうなってしまっている。マトモな資料なんかありゃない。 NULの解釈がコマンドによって違ったって全く不思議じゃあない。 犬のクソをクソだと知りつつカリントウだと思いながら食わなければならないような、そんな代物。 好きで書いてる奴なんかほとんどいないと思う。 バッチで書いた方が良いと判断できる材料がなければVBscriptやPowerShellで書いた方が遥かにいい。 環境が許せば他の言語の導入を検討するのも大いにいい。 よく知られたコマンドをよく知られたイディオム下で使うのでもなければ、バッチでなんか書かない方がいい。 それでもクソみたいにハマることがあるんだから。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/740
822: デフォルトの名無しさん [sage] 2018/09/12(水) 12:32:37.36 ID:iSRyeJ5N 応用すれば色々と変換できる ソースが EUC-JP の例 set /p BOM="??" < nul > UTF-16LE.txt chcp 20932 cmd /u /c type EUC-JP.txt >> UTF-16LE.txt chcp 65000 type UTF-16LE.txt > UTF-7.txt chcp 65001 type UTF-16LE.txt > UTF-8.txt chcp 50222 type UTF-16LE.txt > JIS.txt chcp 932 type UTF-16LE.txt > SJIS.txt 泥臭いのが好きな人はどうぞ 改行コードは知らんw http://mevius.5ch.net/test/read.cgi/tech/1489207631/822
920: デフォルトの名無しさん [sage] 2018/10/29(月) 09:16:39.77 ID:g89iCylL >>912 和文無ければ不要のバッチ @echo off & setlocal & set /a n=0 for /f "delims=" %%i in (delete.txt) do set "s=%%i" & call :x if %n%==0 (goto :eof ) else set /a n-=1 echo ファイル名,日付,時間> output.csv for /f "skip=1 delims=" %%i in (bass.csv) do set "s=%%i" & call :y goto :eof :x set "d%n%=%s%" & set /a n+=1 & goto :eof :y for /f "delims=," %%j in ("%s%") do set "s1=%%j" & call :z goto :eof :z setlocal enabledelayedexpansion for /L %%k in (0,1,%n%) do if /i "!s1!"=="!d%%k!" goto :eof echo !s!>> output.csv http://mevius.5ch.net/test/read.cgi/tech/1489207631/920
926: デフォルトの名無しさん [sage] 2018/10/29(月) 11:39:07.63 ID:wCs1yHBV 先輩方、お知恵ありがとうございます。 情報の後出しとなってしまって大変申し訳ありません。 ファイル名には枝番がふられているものがあり、 delete.txtに記載されている「AAB」を削除指定すると枝番01,02の記載迄消えてしまう為 ファイル名と完全一致の行のみを削除するにはどのようにすれば良いかお知恵をお借りしたかった次第です。 bass.csv ================================ ファイル名,日付,時間 AAA,20111001,1300 AAB,20171001,1300 AAC,20171031,1300 AAD,20171031,1300 AAB01,20111001,1300 AAB02,20111001,1300 ================================ delete.txt ================================ AAB AAD ================================ output.csv ================================ ファイル名,日付,時間 AAA,20111001,1300 AAC,20171031,1300 AAB01,20111001,1300 AAB02,20111001,1300 ================================ http://mevius.5ch.net/test/read.cgi/tech/1489207631/926
983: デフォルトの名無しさん [sage] 2018/11/20(火) 09:38:17.04 ID:O/AOgigh そもそもアンチウィルスソフトに対応してもらえないってのが脆弱性でしょ。 事実上公式最新版のUNLHA.DLLはソース非公開で ソース公開してる古いDOS版はヘッダ構造体がサイズ固定で静的に確保されてるから、 例えばDOSでは考慮しなくて良かった数千文字の 長いファイル名があるとバッファオーバーランを引き起こす。 アンチウィルスソフトによってはDOS版のソースを使ってるので バッファオーバーランを発生させるようなヘッダを不正扱いして 該当書庫のそれ以降の圧縮ファイルの検査をスルーするものがあるが、 そのような検査されない圧縮ファイルであっても事実上公式のUNLHA.DLLでは解凍できてしまう。 検査はされないが解凍できてしまうようなファイルにウィルスしこまれたら大変ってのが「脆弱性」なわけ。 アンチウィルスソフトが対応してくれないなら脆弱性は対策されてるとは言えないっしょ。 対処法は誰かが移植性の高いソースコードを書いて公開するぐらいしかないよーな。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/983
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.064s