[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(2): 転載ダメ©2ch.net [sageteoff] 2017/03/11(土)13:47 ID:2LSSeyH1(1) AAS
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
2chスレ:tech
それ以前の過去スレ
%10 2chスレ:tech
%9 2chスレ:tech
%8 2chスレ:tech
省7
2(1): 2017/03/11(土)14:16 ID:tWxSSf/m(1) AAS
2GET
3: 2017/03/11(土)17:24 ID:aIgw+L4R(1) AAS
そろそろ次スレ立てた方がいいと思う
4(1): 2017/03/11(土)19:08 ID:ayh8mOJp(1) AAS
タヒ
5(1): 2017/03/12(日)22:04 ID:LKmH3irJ(1) AAS
達人の方々!お教えください
set文による文字列の置き換えで
=を置き換えたいのですが
どのように記述すればよいのでしょうか?
6(1): 2017/03/13(月)02:51 ID:ieWeiZc+(1/2) AAS
>>5
setの文字列置換では無理
=の個数が決まっているのならforでderims==
不特定なら一文字ずつ=かどうかを判定し=なら置換したい文字列を付け足し
テストしてないから不備があるかもだけど以下みたいな感じで出来ると思う
:ReplaceEqual
if "%~1"=="" (echo ERROR&exit /b)
set "str=%~1"
set output=
:CheckEqual
省10
7(1): 2017/03/13(月)02:56 ID:ieWeiZc+(2/2) AAS
済まん pause テストするつもりで入れてたのを消すの忘れてた
まあそのままテストしてみて
8(2): 2017/03/13(月)03:26 ID:Kv5ZfyaF(1) AAS
:ReplaceEqual
set "str=%~1"
set output=
:CheckEqual
if "%str:~0,1%"=="=" (
set "output=%output%置換後文字列"
set "str=%str:~1%"
) else (
set "output=%output%%str:~0,1%"
set "str=%str:~1%"
省3
9: 2017/03/13(月)07:40 ID:KSFKLeET(1) AAS
>>6-8
ありがとうございます
色々試して見ます
10(1): 2017/03/13(月)22:53 ID:UotY540z(1) AAS
>>8と同じだけど、もう少し使いやすいI/Fにしたもの
@echo off
rem 文字列中には、",%(1つのみ) を入れないこと
set "var==abc=def=!#$&'()=^~|-+*;:{}<./?\_%%"
call :replace var "=" "="
echo "%var%"
rem savety stopper
goto :eof
:replace
setlocal
省8
11: 2017/03/15(水)08:22 ID:Ekd3hMdD(1) AAS
cmderいいな
この手のツールで表示が崩れたりせずまともに動くやつ見るの初めてだ
12(2): 2017/03/15(水)19:39 ID:sbz59NLr(1) AAS
for /r %%i in (*.jpg) のようなコマンドで取得した絶対パスをカレントフォルダとの相対パスに変換するにはどうするのが一番ですか?
現在はsetコマンドの置換機能でカレントフォルダの部分のパスを消しているんですがパスに変な文字列が入っていると誤作動を起こしそうで少し不安です。
もっとスマートなやり方はありますか?
13(1): 2017/03/16(木)01:00 ID:DixFGYK0(1) AAS
>パスに変な文字列が入っていると
どのみち%が入っているとバッチだと詰む。やれなくないけど物凄く面倒
バッチでは完全な文字列操作は無理だと割り切った方がいい
PowerShell使えば?
外部リンク:www.google.co.jp
14(1): 2017/03/16(木)01:47 ID:9KCSEqzj(1/2) AAS
>>13
分かりました、何か別の方法を考えます
15(1): 2017/03/16(木)02:25 ID:iKA3O6Cf(1/4) AAS
>>14
実際の有効なパスが対象なんだから
問題となるのは上に出てきたequalを含んだフォルダがある場合だけだろう
setlocal
echo %cd%>tmpfile
for %%i in (tmpfile) do set /a size=%%~zi-2
del tmpfile
if %size% neq 3 set /a size+=1
for /r %%i in (*.txt) do (
set "p=%%~i"
省4
16: 2017/03/16(木)02:32 ID:iKA3O6Cf(2/4) AAS
肝心なのは、文字列操作、表示まで扱う場合は
文字列を必ず""で括るようにすること
& % ^ 等を含んでると括ってないとおかしくなる
17(1): 2017/03/16(木)04:08 ID:gadu0oc0(1) AAS
chcp 437
18: 2017/03/16(木)11:46 ID:iKA3O6Cf(3/4) AAS
>>17
ファイルサイズじゃ根本的にダメだったね
(それにecho %cd%も""で括ってなきゃいけなかったし)
call :length "%cd%" n
for /r %%i in (*.txt) do (
set "p=%%~i"
call set "p=%%p:~%n%%%"
call echo ".\%%p%%"
)
goto :eof
省10
19: 2017/03/16(木)12:49 ID:iKA3O6Cf(4/4) AAS
訂正
call :length cd n
for /r %%i in (*.txt) do (
set "p=%%~i"
call set "p=%%p:~%n%%%"
call echo "%%p%%"
)
goto :eof
:length
setlocal
省7
20(1): 12 2017/03/16(木)18:53 ID:9KCSEqzj(2/2) AAS
>>15
ありがとうございます
文字列を置換することばかり考えていたのでカレントフォルダ分の文字数を削るという発想に行き着きませんでした
これで何とかなりそうな気がします
21(1): 2017/03/17(金)21:12 ID:V4hZYsin(1) AAS
どなたかお詳しい方、ご教示ください
windows7を起動後、自動で特定のアカウントパスワード入力後にログインし、
ログイン後、デスクトップの特定座標を自動でクリックするという操作を行わせたいです
このような処理はbatファイルで可能でしょうか?
win7初期状態にインストールされているものであれば他のものを使用してもよいのですが。
キーワードだけでも結構ですので、お助けいただければ幸いです
22: 2017/03/17(金)21:46 ID:93Jxn9OB(1) AAS
胡散臭すぎるだろ・・・
23: 2017/03/17(金)22:18 ID:Pk7DeofX(1) AAS
ログインとはWindows7の登録ユーザーってことか?
それともWebブラウザを起動してどっかのサイトにログインするってことか?
あと何故マウスクリックなのか?
デスクトップに表示してるアイコンなら別に直接起動できるだろうに
24: 2017/03/18(土)09:01 ID:KPOks79l(1) AAS
>>21
無理です
25: 2017/03/18(土)15:14 ID:cDGLzqpd(1) AAS
start 外部リンク:www.google.co.jp自動ログイン
26: 2017/03/20(月)17:14 ID:QMGJB+5Y(1) AAS
だいぶ使い道ないけど、DIRって複数フォルダの内容を1回で表示できるんだね。
DIR C:\tmp C:\tmp2
27: 2017/03/24(金)13:17 ID:jo55dHfH(1) AAS
for文が同一フォルダに自分で出力したファイルを
一つだけ拾っちゃうんだけど、何か対策はありませんか?
for %%I in (*.jpg) do copy %%I %%~dpI_%%~nxI
って感じに処理すると
1.jpg 2.jpg → _1.jpg _2.jpg __1.jpg
となっちゃう…
28: 2017/03/24(金)13:52 ID:OsTTofqK(1) AAS
for /f "delims=" %%a in ('dir /a-d /b *.jpg') do
29: 2017/03/25(土)20:50 ID:8s6m96Ov(1) AAS
なるほどDIRか…
ありがとうございました。
上下前次1-新書関写板覧索設栞歴
あと 973 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.045s