[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
459: 2018/04/05(木)19:54 ID:9RkYEovX(2/2) AAS
>>458は例えば↓なのを一行でやりたいんです

setlocal
set /p answer="実行しますか(y/n)? : %answer%"
if "%answer%"=="y" (
echo "start"
) else if "%answer%"=="n" (
echo "cancel"
exit /b 1
)else (
echo "other key"
exit /b 1
)
endlocal
460
(1): 2018/04/05(木)21:02 ID:KYHgmfzR(1/2) AAS
ワンライナー云々抜きに choice.exe は使ったらダメ?
461
(1): 2018/04/05(木)21:10 ID:vXFo65tf(1) AAS
>>460
環境的にツールの導入は認められません
462
(2): 2018/04/05(木)22:30 ID:ivnu80TE(1) AAS
choiceはWindowsに標準搭載されてるが

外部リンク:docs.microsoft.com
463
(1): 2018/04/05(木)22:40 ID:BdFdoEej(1) AAS
database.txt にある複数の文字列を delete.txt の内容で消去したいと考えているのですが
「複数の文字列 削除」でぐぐっても複数ファイルから単一の文字列を削除するtipsしかヒットせず迷子の状態になってしまいました。
調べ方を教えていただけないでしょうか、よろしくお願いします。

[database.txt]
りんご,ごりら,らっぱ,ぱんだ,だちょう,うし,しお,おにぎり,りす,

[delete.txt]
ごりら
ぱんだ
うし
りす

[output.txt]
りんご,らっぱ,だちょう,しお,おにぎり,
464
(1): 2018/04/05(木)23:13 ID:KYHgmfzR(2/2) AAS
>>461
XP なら追加が必要だが、Microsoftさまのリソースキットにはある
2003 もしくは XP 64bit 以降なら >>462 のいうように標準で存在する
まさか XP?
465: 2018/04/06(金)01:14 ID:fUXQxuPE(1) AAS
>>464
確かWindowsXPだけでなくWindowsNT4.0やWindows2000の場合も
別途リソースキットからchoice.exeを持ってくる必要があったな。
466: 2018/04/06(金)01:53 ID:eal1pYjS(1) AAS
>>463
Ruby で作った

# 行区切りのキーワードファイル
text_kw = File.read 'keyword.txt'
keywords = { }

text_kw.each_line do |line| # 1行ずつ処理する
line.chomp! # 末尾の改行を削除する
# 0文字でなければ、ハッシュに追加する
keywords[line] = true unless line.length == 0
end

text = File.read 'data.txt'
# 末尾の改行を削除して、カンマ区切りで配列に入れる
words = text.chomp!.split(',')
# その単語がハッシュにあれば、配列から削除する
words.delete_if { |word| keywords.has_key? word }
# カンマで連結して、ファイルに上書きする
File.write('out.txt', words.join(','))
467: 2018/04/06(金)03:19 ID:Jw59w3Z9(1) AAS
このrubyガイジはバッチスレにも住みついてんのか
468: 2018/04/06(金)07:06 ID:1XYxdGEK(1) AA×
>>666

ID:SYfKFmGc
469: 2018/04/06(金)07:12 ID:n8Wm7bZP(1) AAS
rubyマンワロタ
本スレでやれよw
470
(1): 2018/04/06(金)10:00 ID:fQXPpScw(1) AAS
>>456
いただきたく。
ください。

なんでわざわざ長ったらしい書き方するんだろうね。
しかも質問してるくせに偉そうという。
471: 2018/04/06(金)23:57 ID:LzrMMW4f(1) AAS
>>462
何故かWindowsPEに入っていない不思議
472: 2018/04/07(土)09:33 ID:QDDx5b92(1) AAS
日立マンワロタ
日立スレでやれよw
473
(1): 2018/04/07(土)13:50 ID:VdZT6mQb(1) AAS
>>470
回答者でもないお前が質問者の態度を問うな
474
(1): 2018/04/07(土)15:41 ID:1zm7m+j1(1) AAS
>>473
おれは日本人としての道徳を説いてるんだが
475: 2018/04/07(土)21:08 ID:dWk4eLw8(1) AAS
>>474
あそこは日本人じゃなく山猿が結構いるよ
476: 2018/04/07(土)23:31 ID:pb/9IsOI(1) AAS
for /l %%n in (1,1,10) do (
477: 2018/04/11(水)23:23 ID:sp32so0L(1) AAS
質問させてください。
プログラムの標準出力を変数に代入する方法を調べ、以下のような方法を見つけて動作を確認しました。

FOR /f "DELIMS=" %%A IN ('ECHO ABC') DO SET ABC=%%A

しかし、'ECHO ABC' の部分にダブルコーテーションが含まれているとうまく動作しませんでした。
何らかの方法でダブルコーテーションをエスケープする必要があると思うのですが、
その方法をご存知の方がいらっしゃれば教えていただけないでしょうか。
よろしくお願いします。
478: 2018/04/12(木)05:05 ID:8z3G53ms(1) AAS
>>338-348と同じ話かな
479: 2018/04/12(木)07:05 ID:UI16Z2bS(1) AAS
@echo off
FOR /f "delims=" %%A IN ('ECHO hoge^"hoge') DO SET "ABC=%%A"
echo %ABC%
pause
480
(1): 2018/04/21(土)16:41 ID:x8Crqpim(1/2) AAS
こんなファイルがありまして

2018/04/21 09:30:00
count
10

2018/04/21 10:00:00
count
20

↓のように変換出力したいです

2018/04/21 09:30:00<tab>10
2018/04/21 10:00:00<tab>20

どのようにしたらいいでしょうか
481
(2): 2018/04/21(土)18:30 ID:9o1T2SLn(1/2) AAS
>>480
<tab>はTABコードだと判断したが、もし単なる文字列ならその部分は修正してくれ
@echo off
setlocal EnableDelayedExpansion
type nul>out.txt
for /f "delims=N" %%I in ('cmd /u /c echo 三') do set TAB=%%I
set n=0
for /f "tokens=* delims=" %%i in (in.txt) do (
set d!n!=%%i
set /a n+=1
if !n! geq 3 set n=0&echo.!d0!%TAB%!d2!>>out.txt
)
endlocal
482
(1): 2018/04/21(土)20:19 ID:kVqs7sc1(1) AAS
下手にバッチでやるよりエディタ等で
\ncount\nをtabに一発置換するだけのような
483
(1): 2018/04/21(土)20:38 ID:6+H6buOa(1) AAS
>'cmd /u /c echo 三'
ナニコレ
484
(1): 2018/04/21(土)21:33 ID:x8Crqpim(2/2) AAS
>>481
これでできました
でも難しくて意味が分からないけど

>>482
秀丸でやったらできました
これは楽ですね

お二人ともありがとうございます
485: 2018/04/21(土)21:41 ID:9o1T2SLn(2/2) AAS
>>483
今まで何度か出てたはずだけど覚えてないかな?
漢字の三は、SJISでは8E4Fだが、Unicodeでは、U+4E09
英字Nは、ASCII(SJIS)で、4E
HT(水平タブ)文字は、ASCII(SJIS)で、09
486
(2): 2018/04/22(日)03:16 ID:HWr0EbfP(1) AAS
>>481は3行1セットを大前提として1行目+タブ+3行目で1行として出力するバッチやね

中身が何かっての全く確認しないから変な行あったら以後盛大に誤爆する
487
(1): 2018/04/22(日)06:56 ID:Lev+VBnm(1/2) AAS
@echo off
type nul>out.txt
setlocal enabledelayedexpansion
set n=0
for /f "delims=" %%i in (in.txt) do (
set "d!n!=%%i" & set /a "n=(n+1)%%3"
if !n! equ 2 if not "%%i"=="count" echo.!d0!>>out.txt&set n=1& set "d0=%%i"
if !n! equ 0 echo.!d0! !d2!>>out.txt
)

!d0!と!d2!の間は普通にtab入力
488: 2018/04/22(日)07:14 ID:H/AU6k7y(1) AAS
だからなに?
1-
あと 514 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.016s