拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1424858999/
それ以前の過去スレ
%10 http://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 http://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 http://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 http://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 http://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 http://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 http://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 http://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 http://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/03/11(土) 13:47:11.66ID:2LSSeyH1
2017/03/11(土) 17:24:01.08ID:aIgw+L4R
そろそろ次スレ立てた方がいいと思う
2017/03/11(土) 19:08:44.39ID:ayh8mOJp
タヒ
2017/03/12(日) 22:04:13.40ID:LKmH3irJ
達人の方々!お教えください
set文による文字列の置き換えで
=を置き換えたいのですが
どのように記述すればよいのでしょうか?
set文による文字列の置き換えで
=を置き換えたいのですが
どのように記述すればよいのでしょうか?
2017/03/13(月) 02:51:46.65ID:ieWeiZc+
>>5
setの文字列置換では無理
=の個数が決まっているのならforでderims==
不特定なら一文字ずつ=かどうかを判定し=なら置換したい文字列を付け足し
テストしてないから不備があるかもだけど以下みたいな感じで出来ると思う
:ReplaceEqual
if "%~1"=="" (echo ERROR&exit /b)
set "str=%~1"
set output=
:CheckEqual
if not defined str exit /b
pause
if "%str:~0,1%"=="=" (
set "output=%output%置換後文字列"
set "str=%str:~1%"
goto :CheckEqual
)
set "output=%output%%str:~0,1%"
set "str=%str:~1%"
goto :CheckEqual
setの文字列置換では無理
=の個数が決まっているのならforでderims==
不特定なら一文字ずつ=かどうかを判定し=なら置換したい文字列を付け足し
テストしてないから不備があるかもだけど以下みたいな感じで出来ると思う
:ReplaceEqual
if "%~1"=="" (echo ERROR&exit /b)
set "str=%~1"
set output=
:CheckEqual
if not defined str exit /b
pause
if "%str:~0,1%"=="=" (
set "output=%output%置換後文字列"
set "str=%str:~1%"
goto :CheckEqual
)
set "output=%output%%str:~0,1%"
set "str=%str:~1%"
goto :CheckEqual
2017/03/13(月) 02:56:02.96ID:ieWeiZc+
済まん pause テストするつもりで入れてたのを消すの忘れてた
まあそのままテストしてみて
まあそのままテストしてみて
2017/03/13(月) 03:26:40.42ID:Kv5ZfyaF
: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%"
)
if defined str goto :CheckEqual
exit /b
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%"
)
if defined str goto :CheckEqual
exit /b
2017/03/13(月) 07:40:38.20ID:KSFKLeET
2017/03/13(月) 22:53:05.48ID:UotY540z
>>8と同じだけど、もう少し使いやすいI/Fにしたもの
@echo off
rem 文字列中には、",%(1つのみ) を入れないこと
set "var==abc=def=!#$&'()=^~|-+*;:{}<>,./?\_%%"
call :replace var "=" "="
echo "%var%"
rem savety stopper
goto :eof
:replace
setlocal
set i=0
set s=
:replace_loop
call set "c=%%%1:~%i%,1%%"
if not defined c (endlocal&set "%1=%s%"&goto :eof)
if "%c%" equ "%~2" (set "s=%s%%~3") else (set "s=%s%%c%")
set /a i+=1
goto :replace_loop
@echo off
rem 文字列中には、",%(1つのみ) を入れないこと
set "var==abc=def=!#$&'()=^~|-+*;:{}<>,./?\_%%"
call :replace var "=" "="
echo "%var%"
rem savety stopper
goto :eof
:replace
setlocal
set i=0
set s=
:replace_loop
call set "c=%%%1:~%i%,1%%"
if not defined c (endlocal&set "%1=%s%"&goto :eof)
if "%c%" equ "%~2" (set "s=%s%%~3") else (set "s=%s%%c%")
set /a i+=1
goto :replace_loop
2017/03/15(水) 08:22:32.42ID:Ekd3hMdD
cmderいいな
この手のツールで表示が崩れたりせずまともに動くやつ見るの初めてだ
この手のツールで表示が崩れたりせずまともに動くやつ見るの初めてだ
2017/03/15(水) 19:39:27.45ID:sbz59NLr
for /r %%i in (*.jpg) のようなコマンドで取得した絶対パスをカレントフォルダとの相対パスに変換するにはどうするのが一番ですか?
現在はsetコマンドの置換機能でカレントフォルダの部分のパスを消しているんですがパスに変な文字列が入っていると誤作動を起こしそうで少し不安です。
もっとスマートなやり方はありますか?
現在はsetコマンドの置換機能でカレントフォルダの部分のパスを消しているんですがパスに変な文字列が入っていると誤作動を起こしそうで少し不安です。
もっとスマートなやり方はありますか?
2017/03/16(木) 01:00:29.70ID:DixFGYK0
>パスに変な文字列が入っていると
どのみち%が入っているとバッチだと詰む。やれなくないけど物凄く面倒
バッチでは完全な文字列操作は無理だと割り切った方がいい
PowerShell使えば?
ttps://www.google.co.jp/search?&q=powershell+%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9+%E5%A4%89%E6%8F%9B
どのみち%が入っているとバッチだと詰む。やれなくないけど物凄く面倒
バッチでは完全な文字列操作は無理だと割り切った方がいい
PowerShell使えば?
ttps://www.google.co.jp/search?&q=powershell+%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9+%E5%A4%89%E6%8F%9B
2017/03/16(木) 01:47:18.14ID:9KCSEqzj
>>13
分かりました、何か別の方法を考えます
分かりました、何か別の方法を考えます
2017/03/16(木) 02:25:05.07ID:iKA3O6Cf
>>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"
call set "p=%%p:~%size%%%"
call echo ".\%%p%%"
)
endlocal
実際の有効なパスが対象なんだから
問題となるのは上に出てきた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"
call set "p=%%p:~%size%%%"
call echo ".\%%p%%"
)
endlocal
2017/03/16(木) 02:32:32.21ID:iKA3O6Cf
肝心なのは、文字列操作、表示まで扱う場合は
文字列を必ず""で括るようにすること
& % ^ 等を含んでると括ってないとおかしくなる
文字列を必ず""で括るようにすること
& % ^ 等を含んでると括ってないとおかしくなる
2017/03/16(木) 04:08:08.29ID:gadu0oc0
chcp 437
2017/03/16(木) 11:46:49.75ID:iKA3O6Cf
>>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
:length
setlocal
set s=%1
set n=0
:length_1
call set "c=%%s:~%n%,1%%"
if defined c set /a n+=1&goto :length_1
if %n% neq 5 set /a n+=1
endlocal&set /a %2=%n%-2
goto :eof
ファイルサイズじゃ根本的にダメだったね
(それに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
:length
setlocal
set s=%1
set n=0
:length_1
call set "c=%%s:~%n%,1%%"
if defined c set /a n+=1&goto :length_1
if %n% neq 5 set /a n+=1
endlocal&set /a %2=%n%-2
goto :eof
2017/03/16(木) 12:49:57.48ID:iKA3O6Cf
訂正
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
set n=0
:length_1
call set "c=%%%1:~%n%,1%%"
if defined c set /a n+=1&goto :length_1
if %n% neq 3 set /a n+=1
endlocal&set /a %2=%n%
goto :eof
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
set n=0
:length_1
call set "c=%%%1:~%n%,1%%"
if defined c set /a n+=1&goto :length_1
if %n% neq 3 set /a n+=1
endlocal&set /a %2=%n%
goto :eof
2012
2017/03/16(木) 18:53:00.18ID:9KCSEqzj21デフォルトの名無しさん
2017/03/17(金) 21:12:58.50ID:V4hZYsin どなたかお詳しい方、ご教示ください
windows7を起動後、自動で特定のアカウントパスワード入力後にログインし、
ログイン後、デスクトップの特定座標を自動でクリックするという操作を行わせたいです
このような処理はbatファイルで可能でしょうか?
win7初期状態にインストールされているものであれば他のものを使用してもよいのですが。
キーワードだけでも結構ですので、お助けいただければ幸いです
windows7を起動後、自動で特定のアカウントパスワード入力後にログインし、
ログイン後、デスクトップの特定座標を自動でクリックするという操作を行わせたいです
このような処理はbatファイルで可能でしょうか?
win7初期状態にインストールされているものであれば他のものを使用してもよいのですが。
キーワードだけでも結構ですので、お助けいただければ幸いです
2017/03/17(金) 21:46:29.02ID:93Jxn9OB
胡散臭すぎるだろ・・・
2017/03/17(金) 22:18:36.30ID:Pk7DeofX
ログインとはWindows7の登録ユーザーってことか?
それともWebブラウザを起動してどっかのサイトにログインするってことか?
あと何故マウスクリックなのか?
デスクトップに表示してるアイコンなら別に直接起動できるだろうに
それともWebブラウザを起動してどっかのサイトにログインするってことか?
あと何故マウスクリックなのか?
デスクトップに表示してるアイコンなら別に直接起動できるだろうに
2017/03/18(土) 09:01:42.64ID:KPOks79l
>>21
無理です
無理です
2017/03/18(土) 15:14:23.81ID:cDGLzqpd
start https://www.google.co.jp/search?q=windows7+自動ログイン
2017/03/20(月) 17:14:02.44ID:QMGJB+5Y
だいぶ使い道ないけど、DIRって複数フォルダの内容を1回で表示できるんだね。
DIR C:\tmp C:\tmp2
DIR C:\tmp C:\tmp2
2017/03/24(金) 13:17:40.14ID:jo55dHfH
for文が同一フォルダに自分で出力したファイルを
一つだけ拾っちゃうんだけど、何か対策はありませんか?
for %%I in (*.jpg) do copy %%I %%~dpI_%%~nxI
って感じに処理すると
1.jpg 2.jpg → _1.jpg _2.jpg __1.jpg
となっちゃう…
一つだけ拾っちゃうんだけど、何か対策はありませんか?
for %%I in (*.jpg) do copy %%I %%~dpI_%%~nxI
って感じに処理すると
1.jpg 2.jpg → _1.jpg _2.jpg __1.jpg
となっちゃう…
2017/03/24(金) 13:52:45.87ID:OsTTofqK
for /f "delims=" %%a in ('dir /a-d /b *.jpg') do
2017/03/25(土) 20:50:35.80ID:8s6m96Ov
なるほどDIRか…
ありがとうございました。
ありがとうございました。
30デフォルトの名無しさん
2017/03/28(火) 18:35:13.10ID:oEoZ8De2 バッチファイルで
echo %*
とすると引数がすべて表示されるけど
%0=自分自身だけ無いのはなんで?
*で0だけハブられるなんて可哀想……
echo %*
とすると引数がすべて表示されるけど
%0=自分自身だけ無いのはなんで?
*で0だけハブられるなんて可哀想……
2017/03/28(火) 18:52:24.94ID:IKXgMhqU
少し考えれば分かりそうなものだが
%cmdcmdline%
%cmdcmdline%
2017/03/30(木) 01:42:37.50ID:gGp/SYAm
なんか真似しそう(笑)
2017/04/03(月) 06:06:20.82ID:awE7Wvau
バッチ書くのにオススメのエディタあったら教えて
最近目がめっきり弱くなって来たので色分け表示とかの視認性上がるものや
便利そうな機能があるものを知りたい
頻繁に使うわけじゃないからこそ探すの面倒で先人の知識をお借りしたい
最近目がめっきり弱くなって来たので色分け表示とかの視認性上がるものや
便利そうな機能があるものを知りたい
頻繁に使うわけじゃないからこそ探すの面倒で先人の知識をお借りしたい
2017/04/03(月) 07:06:14.38ID:pL1jzkCs
2017/04/03(月) 07:12:25.04ID:5ummjK72
サクラエディタ
2017/04/03(月) 07:33:25.19ID:uEU30p4H
マジレスすると目が悪いならでかいモニタ買ってフォントサイズでかくするのが一番良い
PowerShell、Ruby, PythonとかならVSCodeでブレークポイント張ったり変数のインスペクトしたりできるけど
その手の支援機能が全く期待できないBatじゃどれ使っても同じだろう
手に馴染んだエディタ使えばいいしないならフリーのどれか一つ覚えればいい
キーワードの色分け程度なら大抵用意されてるし
VisualBatはちょくちょく見かけるけどそれ専用の環境を覚えるくらなら普通のエディタ使ったほうがいい気がする
個人的にはBatから別の言語のコード書いて呼び出す事が多いし
自作マクロになるけど
↓みたいなコードを一つのファイルに書いて##!!に挟まれたカーソル位置のコードを切り出して実行する機能が
言語の学習やちょっとしたテストに便利で気に入っているのでエディタマクロ覚えて作ってみるのお勧め
##!! echo test
echo hello
##!! for test
for %i in (a,b,c) do echo %i
##!! calc test
set a=1
set /a a+=2
echo %a%
PowerShell、Ruby, PythonとかならVSCodeでブレークポイント張ったり変数のインスペクトしたりできるけど
その手の支援機能が全く期待できないBatじゃどれ使っても同じだろう
手に馴染んだエディタ使えばいいしないならフリーのどれか一つ覚えればいい
キーワードの色分け程度なら大抵用意されてるし
VisualBatはちょくちょく見かけるけどそれ専用の環境を覚えるくらなら普通のエディタ使ったほうがいい気がする
個人的にはBatから別の言語のコード書いて呼び出す事が多いし
自作マクロになるけど
↓みたいなコードを一つのファイルに書いて##!!に挟まれたカーソル位置のコードを切り出して実行する機能が
言語の学習やちょっとしたテストに便利で気に入っているのでエディタマクロ覚えて作ってみるのお勧め
##!! echo test
echo hello
##!! for test
for %i in (a,b,c) do echo %i
##!! calc test
set a=1
set /a a+=2
echo %a%
2017/04/03(月) 07:56:40.92ID:wDpIbVKg
中身のない長文要らんわ
2017/04/03(月) 22:35:33.81ID:TkzGFBjq
>>33
黒背景に白地の文字が視認性あがるよ
フォントはゴシックで文字サイズも大きくする
俺の使ってるのは一般的にはオススメではないのでどうかと思うが
(New)QXエディタ(一応シェアウェアだが未登録でも機能制限も期間制限も無い)
黒背景に白地の文字が視認性あがるよ
フォントはゴシックで文字サイズも大きくする
俺の使ってるのは一般的にはオススメではないのでどうかと思うが
(New)QXエディタ(一応シェアウェアだが未登録でも機能制限も期間制限も無い)
2017/04/03(月) 22:53:09.08ID:jFb9lqNm
真っ黒背景に真っ白文字は目がズキズキする
2017/04/03(月) 22:58:56.52ID:TkzGFBjq
2017/04/03(月) 23:14:57.75ID:rmwiW03F
color 0f
は目に痛い
は目に痛い
2017/04/03(月) 23:18:55.00ID:TkzGFBjq
目のいい人がコメントしたって意味ないだろ
老眼やかすみ目で文字が読みにくくなったらわかるよ
特に、カンマとピリオドの区別が付かないとストレス溜まるぜ
老眼やかすみ目で文字が読みにくくなったらわかるよ
特に、カンマとピリオドの区別が付かないとストレス溜まるぜ
2017/04/03(月) 23:37:00.86ID:mc8PKhXW
2017/04/04(火) 00:06:37.41ID:m/ZONOLH
背景は薄い黄緑色にしてる
目が疲れない
目が疲れない
2017/04/04(火) 00:16:41.83ID:Q0uaZ4Jg
そういえば昔のホスト端末とかって黒背景に緑字が多かったよね?
あれってなんでだろ?
あれってなんでだろ?
2017/04/04(火) 02:35:10.99ID:G7XsiAet
>>45
グリーンディスプレイがあったからじゃね?
グリーンディスプレイがあったからじゃね?
2017/04/04(火) 02:45:05.78ID:ti2ez7YV
緑やオレンジの蛍光体の方がTVの白蛍光体より刺激が少ないから採用されていたらしい
2017/04/04(火) 04:37:33.60ID:RiJvnB3V
4933
2017/04/04(火) 05:42:06.14ID:ldgn2Vfw 皆様たくさんのレスありがとうございます
VisualBat試してみました
デバッガとしては便利そうですがTab文字打てないのでエディタとしてはまだちょっと使えなさそうです
for や if の()で自動インデントとかしてくれるようになると便利かも
今後の更新に期待します
他、挙げて頂いたアドバイスも順次時間が取れ次第試して行きたいと思っております
次はサクラエディタを試用する予定。他候補にMery、QX
コマンドプロンプトは color 07 不透明度80 で使っております
かすみ目、乱視、老眼、ド近眼、何れも酷いです
他に思い付いたアドバイス等ございましたらよろしくお願いします
VisualBat試してみました
デバッガとしては便利そうですがTab文字打てないのでエディタとしてはまだちょっと使えなさそうです
for や if の()で自動インデントとかしてくれるようになると便利かも
今後の更新に期待します
他、挙げて頂いたアドバイスも順次時間が取れ次第試して行きたいと思っております
次はサクラエディタを試用する予定。他候補にMery、QX
コマンドプロンプトは color 07 不透明度80 で使っております
かすみ目、乱視、老眼、ド近眼、何れも酷いです
他に思い付いたアドバイス等ございましたらよろしくお願いします
2017/04/04(火) 06:03:57.35ID:o7weIbXl
>>43
フォントはVLゴシックのほうがいいと思う
フォントはVLゴシックのほうがいいと思う
2017/04/04(火) 12:05:28.05ID:h1EI1nbQ
gPadは色弄りやすい
2017/04/04(火) 12:56:18.88ID:CQgziqhI
>>50
あのフォントゼロに斜線が入ってるから使ってる
あのフォントゼロに斜線が入ってるから使ってる
2017/04/05(水) 00:03:13.02ID:jDUjKmAY
2017/04/08(土) 17:14:16.29ID:3YaJnUcz
ms製wgetなんてあったんだな
何故か異様に遅いが
bitsadmin /Transfer htmlget https://www.google.co.jp/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png c:\logo.png
何故か異様に遅いが
bitsadmin /Transfer htmlget https://www.google.co.jp/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png c:\logo.png
2017/04/08(土) 17:15:28.84ID:3YaJnUcz
フォントはMyricaがClearTypeと相性がいい
2017/04/08(土) 17:52:42.60ID:RJCKk6tM
VLゴシックは行間空き過ぎ
同じ行数が表示出来るようフォントサイズで調整した場合
VLゴシックのフォントサイズ10に対しIPAゴシック12、MSゴシック13
やたらと空行入れたがる脳みそスカスカの空行厨が好みそうなフォント
自分にはIPAゴシックよりVLが良い点が見当たらないので
>>50さん、どの辺が良いのか具体的に教えていただけると助かります
同じ行数が表示出来るようフォントサイズで調整した場合
VLゴシックのフォントサイズ10に対しIPAゴシック12、MSゴシック13
やたらと空行入れたがる脳みそスカスカの空行厨が好みそうなフォント
自分にはIPAゴシックよりVLが良い点が見当たらないので
>>50さん、どの辺が良いのか具体的に教えていただけると助かります
2017/04/08(土) 18:14:54.54ID:xnWSKOe7
2017/04/08(土) 18:57:28.10ID:LC0ZcHdg
>>54
動かなかったんで/helpしてみたら、WindowsXPのbitsadminには/Transfarが無かった(version 1.0 [ 5.1.2600.0 ])
調べてみたら、
Windows XP Service Pack 2 サポート ツール
https://www.microsoft.com/ja-jp/download/details.aspx?id=18546
をインストールすればいいことが判った
version 2.0 [ 6.6.2600.2180 ]
動かなかったんで/helpしてみたら、WindowsXPのbitsadminには/Transfarが無かった(version 1.0 [ 5.1.2600.0 ])
調べてみたら、
Windows XP Service Pack 2 サポート ツール
https://www.microsoft.com/ja-jp/download/details.aspx?id=18546
をインストールすればいいことが判った
version 2.0 [ 6.6.2600.2180 ]
2017/04/09(日) 11:47:08.97ID:z+t/KLMw
Myrica良いね
|が破線なのと\→\バックスラッシュに違和感あるけど慣れればこっちの方が見分け楽そう
|が破線なのと\→\バックスラッシュに違和感あるけど慣れればこっちの方が見分け楽そう
2017/04/11(火) 20:07:11.55ID:bvJ+shyZ
set test=%1
for /f "delims=" %%f in (%test%) do (
E:\test\test.bat %%f
)
上記のfor処理にテキストのファイルパスを一つずつ読み込ませて専用batで処理した後に
全部終わったらシャットダウン処理をしたいのですが
ループ処理に割り込ませる方法って何かありますか?
for /f "delims=" %%f in (%test%) do (
E:\test\test.bat %%f
)
上記のfor処理にテキストのファイルパスを一つずつ読み込ませて専用batで処理した後に
全部終わったらシャットダウン処理をしたいのですが
ループ処理に割り込ませる方法って何かありますか?
2017/04/11(火) 21:42:41.83ID:ZiByT+J4
質問の意味が不明瞭
全部終わった後でいいならforの後にshutdown書けばいいんでないの?
for中に割り込ませたいのは何故?
全部終わった後でいいならforの後にshutdown書けばいいんでないの?
for中に割り込ませたいのは何故?
2017/04/11(火) 22:02:51.00ID:bvJ+shyZ
set test=%1
for /f "delims=" %%f in (%test%) do (
E:\test\test.bat %%f
)
shutdown /S /T 30
単純にこれでうまくいかなかったので割り込ませる必要があるのかと思い質問しましたが
やっぱりそんなわけないですよね・・・
単純なミスをしてる可能性が高そうなのでもう一回見直してみます
for /f "delims=" %%f in (%test%) do (
E:\test\test.bat %%f
)
shutdown /S /T 30
単純にこれでうまくいかなかったので割り込ませる必要があるのかと思い質問しましたが
やっぱりそんなわけないですよね・・・
単純なミスをしてる可能性が高そうなのでもう一回見直してみます
2017/04/11(火) 22:31:07.73ID:U8R3p0c1
callしてないからtest.batから帰ってこないだけでは
2017/04/11(火) 22:39:54.03ID:bvJ+shyZ
あちゃーほんとだ
普通に動いてたから気づかなかった・・・
アホですね
ちょっと修正してテストしてみます
指摘ありがとう
普通に動いてたから気づかなかった・・・
アホですね
ちょっと修正してテストしてみます
指摘ありがとう
65デフォルトの名無しさん
2017/04/15(土) 01:17:56.44ID:yuPX0yl1 ソフトを起動した際に出るライセンスキーを入力する画面に値を自動でいれたいです。
batで可能でしょうか?
batで可能でしょうか?
2017/04/15(土) 08:13:42.82ID:eG98vJ7n
ahk
2017/04/15(土) 23:02:38.65ID:a3PF4w5O
batでgrep検索をしようと思ってるんだけど、
検索結果にファイルのフルパスを出力する方法を教えてください><
現状だとファイル名+行の内容しか出ない・・・
検索結果にファイルのフルパスを出力する方法を教えてください><
現状だとファイル名+行の内容しか出ない・・・
68デフォルトの名無しさん
2017/04/27(木) 06:44:05.61ID:Ek2Yalzm 複数のファイルがあり、ぞれぞれ中身が
fileID: aaaa within(
);
や
fileID: akf within(
);
などfileID: ~ within();は固定です。
各ファイルのaaaaやakfを読み込みの際に変数に取り込みたいのですがどのように書けばいいでしょうか?
fileID: aaaa within(はファイルの一行目なので set /p fl=< %inputFile% でとれました。
fileID: aaaa within(
);
や
fileID: akf within(
);
などfileID: ~ within();は固定です。
各ファイルのaaaaやakfを読み込みの際に変数に取り込みたいのですがどのように書けばいいでしょうか?
fileID: aaaa within(はファイルの一行目なので set /p fl=< %inputFile% でとれました。
2017/04/27(木) 07:31:26.21ID:LF40VtKG
テストしてないけどこんな感じ。必要ならusebackqとかも。aaaaに&とか入るならsetでクオートする必要がある
for /f "tokens=2* delims= " %%a in (%inputFile%) do (
set ID=%%b
goto :NEXT
)
:NEXT
または
set /p fl=< %inputFile%
for /f "tokens=2* delims= " %%a in (%fl%) do set ID=%%b
または
for /f "tokens=2* delims= " %%a in ('findstr /b /c:"fileID" "%inputFile%"') do set ID=%%b
for /f "tokens=2* delims= " %%a in (%inputFile%) do (
set ID=%%b
goto :NEXT
)
:NEXT
または
set /p fl=< %inputFile%
for /f "tokens=2* delims= " %%a in (%fl%) do set ID=%%b
または
for /f "tokens=2* delims= " %%a in ('findstr /b /c:"fileID" "%inputFile%"') do set ID=%%b
70デフォルトの名無しさん
2017/04/29(土) 21:00:05.56ID:GvSnly4L2017/04/29(土) 23:45:46.56ID:AyX6Tpbc
書いたコマンドとテストした対象ファイルの1行目をコピペで貼ってみ
2017/05/09(火) 16:43:52.50ID:PScyAxKX
助けて下さい!
毎月第二木曜日の16:00になったら
Aフォルダに入っているgファイルにBフォルダに入っているgファイルを上書きする
batファイルを作って下さい
よろしくお願いします
毎月第二木曜日の16:00になったら
Aフォルダに入っているgファイルにBフォルダに入っているgファイルを上書きする
batファイルを作って下さい
よろしくお願いします
2017/05/09(火) 17:29:08.98ID:bjRIYrg3
>>72
ファイル上書きのBAT(c:\xxx.bat)を作成してタスク登録する
schtasks /create /sc monthly /mo second /d thu /st 16:00:00 /tn title /tr "c:\xxx/bat" /ru username /rp userpassword
ファイル上書きのBAT(c:\xxx.bat)を作成してタスク登録する
schtasks /create /sc monthly /mo second /d thu /st 16:00:00 /tn title /tr "c:\xxx/bat" /ru username /rp userpassword
2017/05/09(火) 18:58:44.41ID:PScyAxKX
>>73
ありがとうございます!
ありがとうございます!
2017/05/12(金) 00:01:39.58ID:1meaH6LX
set txt="C:\scr\a.txt"
for /f "delims=, usebackq tokens=1,2,3,4,5,6,7,8" %%i in (%txt%) do (
set /a X="(%%j-%%i)+(%%l-%%k)+(%%n-%%m)+(%%p-%%o)"
)
echo %X%
forを使った計算について質問ですがa.txtから数値を抜き出し計算したいのですが最後の二つが空の場合があり
この場合は%%pと%%oですがその場合はエラーになって強制終了してしまいます
gotoを使う方法は思いついたのですが他に空だった場合にゼロを代入するなどは可能でしょうか?
for /f "delims=, usebackq tokens=1,2,3,4,5,6,7,8" %%i in (%txt%) do (
set /a X="(%%j-%%i)+(%%l-%%k)+(%%n-%%m)+(%%p-%%o)"
)
echo %X%
forを使った計算について質問ですがa.txtから数値を抜き出し計算したいのですが最後の二つが空の場合があり
この場合は%%pと%%oですがその場合はエラーになって強制終了してしまいます
gotoを使う方法は思いついたのですが他に空だった場合にゼロを代入するなどは可能でしょうか?
2017/05/12(金) 08:46:27.33ID:trqCrhEU
set txt="C:\scr\a.txt"
for /f "usebackq tokens=1,2,3,4,5,6,7,8 delims=, " %%i in (%txt%) do (
set /a X=%%j-%%i+%%l-%%k+%%n-%%m, po=%%p-%%o
)
set /a XX=X+po
echo %XX%
for /f "usebackq tokens=1,2,3,4,5,6,7,8 delims=, " %%i in (%txt%) do (
set /a X=%%j-%%i+%%l-%%k+%%n-%%m, po=%%p-%%o
)
set /a XX=X+po
echo %XX%
2017/05/12(金) 11:05:40.92ID:lLM9Jqdl
echo ^
とすると more? と出る
??
とすると more? と出る
??
2017/05/12(金) 12:02:37.54ID:+kEWkBL6
2017/05/19(金) 17:52:47.97ID:ya28xWZT
特定のフォルダ内のテキストファイルを処理するバッチを作りましたが
@echo off
for /f "usebackq delims=" %%i in (`dir /B /S "E:\text_sc\*.txt"`) do (
echo %%i
call E:\work\syori.bat "%%i"
)
syori.batで処理したテキストを忘れないようにリスト化(syorizumi_list.txt)
aaa
bbb
ccc
のように処理したテキストの名前だけ縦に追記
次回から新しいテキストファイルが同じフォルダに出来た場合にsyorizumi_list.txtの
処理済みのテキストを除外して処理したいのですが
コマンドのアドバイスを頂けないでしょうか
@echo off
for /f "usebackq delims=" %%i in (`dir /B /S "E:\text_sc\*.txt"`) do (
echo %%i
call E:\work\syori.bat "%%i"
)
syori.batで処理したテキストを忘れないようにリスト化(syorizumi_list.txt)
aaa
bbb
ccc
のように処理したテキストの名前だけ縦に追記
次回から新しいテキストファイルが同じフォルダに出来た場合にsyorizumi_list.txtの
処理済みのテキストを除外して処理したいのですが
コマンドのアドバイスを頂けないでしょうか
2017/05/19(金) 19:38:36.49ID:HiKVEJh7
>>79
もし、その入力ファイルをその後弄らないのならファイル属性を弄るのがいい
例えば、アーカイブ属性を削るとか読み取り専用属性にするとか
そうすれば、forの中のdirに/aで分別できる
それが無理な場合は、こんなかんじでファイルに登録されているかどうかチェックするとかかな
findstr /x "%%~ni" syorizumi_list.txt >nul
if errorlenel 1 (
echo %%i
call E:\work\syori.bat "%%i"
)
)
もし、その入力ファイルをその後弄らないのならファイル属性を弄るのがいい
例えば、アーカイブ属性を削るとか読み取り専用属性にするとか
そうすれば、forの中のdirに/aで分別できる
それが無理な場合は、こんなかんじでファイルに登録されているかどうかチェックするとかかな
findstr /x "%%~ni" syorizumi_list.txt >nul
if errorlenel 1 (
echo %%i
call E:\work\syori.bat "%%i"
)
)
2017/05/19(金) 21:01:19.56ID:ya28xWZT
>>80
レスありがとうございます
読み取り属性の方は最終手段としてとりあえず書かれたコマンドを追記してテストしていますが
エラーで強制終了してしまいます・・・
ヒントは頂けたのでちょっと考えてみます
レスありがとうございます
読み取り属性の方は最終手段としてとりあえず書かれたコマンドを追記してテストしていますが
エラーで強制終了してしまいます・・・
ヒントは頂けたのでちょっと考えてみます
2017/05/19(金) 21:32:14.27ID:8Dg0HTHO
処理済みファイルを下位ファルダに移動させるとかじゃダメなの?
それが1番楽だと思うけど
それが1番楽だと思うけど
2017/05/19(金) 22:02:54.16ID:ya28xWZT
ダメではないですし意地になってるだけです・・・
すいません
どうしようもなければそうしおうと思います
すいません
どうしようもなければそうしおうと思います
2017/05/19(金) 22:41:00.81ID:HiKVEJh7
2017/05/19(金) 22:45:30.06ID:HiKVEJh7
あと、移動させるなら下位フォルダはダメだよ
dir /sではそれも対象だから
dir /sではそれも対象だから
2017/05/19(金) 23:51:05.34ID:ya28xWZT
2017/05/20(土) 02:30:44.06ID:HrYyDnOr
2017/05/20(土) 08:10:06.10ID:N++czmo3
2017/05/20(土) 21:37:37.96ID:HrYyDnOr
2017/05/20(土) 22:35:16.21ID:N++czmo3
2017/05/22(月) 14:12:41.59ID:Q9T2A2Wt
こんなろくに理解せずそのまんまコピペして使ってるとトラップに引っかかるぞ
2017/05/22(月) 22:28:16.59ID:b+LuBt/G
下位フォルダに移動することも検討してるなんてレスから
/sが必要だとも思えんよね
/sが必要だとも思えんよね
2017/05/22(月) 22:30:42.85ID:b+LuBt/G
もし/sが意図通りだったら
aaa.txt
aaa\aaa.txt
なんて状況どうするんだって話だし
aaa.txt
aaa\aaa.txt
なんて状況どうするんだって話だし
2017/05/26(金) 07:30:18.71ID:/NUGeMQI
2017/05/26(金) 16:05:36.92ID:OOQCykcT
引数 %1 %2 ,, は%9 までだが
shiftで取り出せば%10以上でも取り出せた
shiftで取り出せば%10以上でも取り出せた
2017/06/15(木) 12:35:49.64ID:j04OpPTD
Cドラのdown配下のmp4とaviを
DドラTozakaruzoSaikonkaraに集約してコピーしたいときはどうするの?
XCOPY "C:\down\*.mp4” "D:\TozakaruzoSaikonkara\" /d /e /h /r /y
XCOPY "C:\down\*.avi" "D:TozakaruzoSaikonkara\" /d /e /h /r /y
ワイルドカード使いたいけど、eroやmoroのところが難しい
for文の記述の方がいいなど、よろしくお願いします。
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
D:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
DドラTozakaruzoSaikonkaraに集約してコピーしたいときはどうするの?
XCOPY "C:\down\*.mp4” "D:\TozakaruzoSaikonkara\" /d /e /h /r /y
XCOPY "C:\down\*.avi" "D:TozakaruzoSaikonkara\" /d /e /h /r /y
ワイルドカード使いたいけど、eroやmoroのところが難しい
for文の記述の方がいいなど、よろしくお願いします。
C:/
├down/
│ └ ero/
│ └ 111.mp4
│ └ moro/
│ └ xx2.avi
│ └ zzz.mp4
│ └xxx.avi
D:/
├TozakaruzoSaikonkara/
│ └ 111.mp4
│ └ xx2.avi
│ └ zzz.mp4
│ └ xxx.avi
2017/06/15(木) 13:13:57.77ID:6QOS5lbl
robocopy /?
2017/06/15(木) 15:41:43.67ID:y+UEOWCj
2017/06/15(木) 15:46:23.72ID:y+UEOWCj
cd d:\TozakaruzoSaikonkara の方がいいか
100デフォルトの名無しさん
2017/06/15(木) 15:50:20.24ID:y+UEOWCj もしフォルダが無いなら
md d:\TozakaruzoSaikonkara 追加してくれ
md d:\TozakaruzoSaikonkara 追加してくれ
101デフォルトの名無しさん
2017/06/15(木) 16:07:02.35ID:y+UEOWCj *.mp4 だった
穴だらけだな
俺もボケてきたか
穴だらけだな
俺もボケてきたか
102デフォルトの名無しさん
2017/06/15(木) 17:02:52.10ID:+JrLzVDI■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- 【高市速報】小野田経済安保相「中国依存はリスクなおおおおおおおおおおお」 [127986362]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
