【.cmd】 バッチファイルスクリプト %5 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/05/14(木) 11:29:31【.cmd】 バッチファイルスクリプト %4 【.bat】
http://pc12.2ch.net/test/read.cgi/tech/1229955189/
0153151
2009/08/04(火) 21:46:32ぐ・・・powershell というのは、DOSとは違うものですね?
やっぱDOSでは無理でしょうか。
でもヒントありがとうございます。
0154デフォルトの名無しさん
2009/08/04(火) 22:01:28どうしてもコマンドがいいならwgetなんてのもあるけど結局別途インストールが必要。
0155151
2009/08/04(火) 23:24:50なるほど、wgetなら聞いたことがあるのでそっちでやってみます。
インストールといってもコピーするだけなんですね、できそうかも。
どうもありがとう。
0156デフォルトの名無しさん
2009/08/05(水) 20:55:21for /f "delims=*" %i in ('dir /s /ad /b ^| sort /r') do @rmdir "%i" 2> nul
なるコマンドをネット上で見たのですが
"iの使い方が誤っています"なるエラーが出てしまいます。
引用変数を上手く渡すにはどうすればいいのでしょうか。
osはwin2kです。
0157デフォルトの名無しさん
2009/08/05(水) 21:20:450158156
2009/08/05(水) 21:28:170159デフォルトの名無しさん
2009/08/07(金) 14:16:38.bat, .cmdとその他を区別して呼び出すのがだるすぎるぜ
0160デフォルトの名無しさん
2009/08/07(金) 14:56:340161デフォルトの名無しさん
2009/08/07(金) 14:58:370162デフォルトの名無しさん
2009/08/07(金) 18:37:36@echo off
setlocal
set A=0
:LOOP
if %A% EQU 100 goto :END
set /a A=A+1
set /a B=A%%3
set /a C=A%%5
set /a D=B+C
if %D% EQU 0 goto :FB
IF %B% EQU 0 goto :FIZZ
IF %C% EQU 0 goto :BUZZ
echo %A%
goto :LOOP
:FIZZ
echo Fizz
goto :LOOP
:BUZZ
echo Buzz
goto :LOOP
:FB
echo FizzBuzz
goto :LOOP
:END
endlocal
@echo on
0163デフォルトの名無しさん
2009/08/07(金) 19:38:070164デフォルトの名無しさん
2009/08/07(金) 21:18:28thx!本当だw
見直してたら、もう少し洗練出来る事に気が付いた。
0165デフォルトの名無しさん
2009/08/07(金) 21:22:49http://schiphol.2ch.net/test/read.cgi/parksports/1217581664/l50
0166デフォルトの名無しさん
2009/08/13(木) 14:57:11ってどう書けばいい?
0167デフォルトの名無しさん
2009/08/16(日) 21:04:19start cmd /c "bbb.exe & waitfor /si hoge"
waitfor hoge
ccc.exe
0168デフォルトの名無しさん
2009/08/17(月) 00:14:280169デフォルトの名無しさん
2009/08/17(月) 16:40:27javac %~n1.java
java %~n1
pause
これだとディレクトリがC:\WINDOWSでファイルが見つかりません
.javaファイルがあるディレクトリか,バッチファイルがあるディレクトリに
移動するにはどうすればいいでしょうか
0170デフォルトの名無しさん
2009/08/17(月) 16:58:560171デフォルトの名無しさん
2009/08/17(月) 17:14:310172デフォルトの名無しさん
2009/08/17(月) 17:21:01cd %~dp0
名言集 その4
『俺の経歴カックイイだろ?』
http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ ID:PVAf+dux0 = 自動焼人 ★
> 984 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:11:14.95 ID:PVAf+dux0
> 俺の簡単な年表(笑)
> 高二秋:自前のパソコンゲット
> 高三春:コテハンとしてデビュー、指揮官見習い
> 高三秋:指揮官デビュー
> 大一:新しい武器の開発や、突撃で数々の戦歴を残す
> 大二春:規制系キャップ取得、第一線から退く
> 大二夏:ネットでのゲーム作成プロジェクト始動
> 大二秋:政治系オフに参加
> 大二冬:最後の突撃、華々しく散る
> 大三春:政治系活動を本格始動
> 大三夏:三度目の選挙へ
>
> おまえらは、後を継ぐなよw
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
0174デフォルトの名無しさん
2009/08/20(木) 15:23:160175デフォルトの名無しさん
2009/08/20(木) 15:34:000176デフォルトの名無しさん
2009/08/20(木) 17:39:040177デフォルトの名無しさん
2009/08/21(金) 21:54:04わかるかたいましたらよろしくお願いします。
0178デフォルトの名無しさん
2009/08/21(金) 22:35:49dir
if
%~zi
attrib
0179デフォルトの名無しさん
2009/08/22(土) 06:11:21どういう用途に使うんだろう、と言ってみる
0180デフォルトの名無しさん
2009/08/22(土) 13:50:21・学生番号(ユーザーID)とパスワードをユーザーにキーボード入力させる
・入力された値はコンピュータが保持する(今後ID/パスを入力しなくても接続できる)
といった形にしたいのですが、どう組めばいいでしょうか?
0181デフォルトの名無しさん
2009/08/22(土) 14:17:0810行のリストを読んだら、var1からvar10までの変数を生成して欲しいのですが
0182デフォルトの名無しさん
2009/08/22(土) 14:22:05for /F %%a in ( list.txt ) do (
set /a count = !count!+1
set line=line!count!
set !line!=%%a
)
echo !line9!
0183デフォルトの名無しさん
2009/08/22(土) 20:22:45ありがとうございます。
もうちょいヒント下さい。。。
0184デフォルトの名無しさん
2009/08/22(土) 21:27:09dir /?
if /?
attrib /?
0185デフォルトの名無しさん
2009/08/25(火) 04:05:54これ危なくないか?XP専用のようだけど
0186デフォルトの名無しさん
2009/08/26(水) 23:51:11これでcmd&rubyであと5年は頑張れる。
PowerShellからは脱落したぜ…
0187デフォルトの名無しさん
2009/08/27(木) 00:20:230188デフォルトの名無しさん
2009/08/27(木) 13:07:04リストの行ごとに番号を振るところまでできたんですが、
仮に9行目を得たいときは!line9!で呼び出すとして、
数字の部分はランダムで変えたいときはどうすればいいんでしょうか
set r=(ランダムな数字)
echo line!r!でline5なりline9なりで行の内容を呼び出したい
data=line!r!とする?
こんがらがってわけがわかりません
お知恵を貸してください
0189デフォルトの名無しさん
2009/08/27(木) 14:03:43ズバリ%RANDOM%がある。
範囲を1〜10にしたいなら
set /a r=%RANDOM % 10 + 1
のようにすればおk
0190デフォルトの名無しさん
2009/08/27(木) 14:41:34%RANDOM%なんてのがあるのか。それをふまえて俺も書いてみた
各行をvar1、var2、・・・という変数に入れといて、 !var%乱数%!でアクセスするという方針
set count=0
for /F %%a in (list.txt) do (
set /a count=count+1
set var!count!=line!count! : %%a
)
set /a r=%RANDOM% %% count + 1
set data=!var%r%!
echo !data!
0191デフォルトの名無しさん
2009/08/27(木) 19:23:18どうやるんだっけ?
0192188
2009/08/27(木) 21:58:37んー11しか出ないです
>>190
はーできました、ありがとうございます
set var!count!=〜とか!var%r%!ていう書き方もできるんですね、ここでつまづいてました
r=%RANDOM% %% count + 1の%%とは何でしょうか?
0193デフォルトの名無しさん
2009/08/27(木) 22:33:480194デフォルトの名無しさん
2009/08/27(木) 23:53:57for %%i in (%*) do echo %%i
で行けるのな。今までshift, if, goto で頑張ってたよ…
0195デフォルトの名無しさん
2009/08/28(金) 01:45:53わざわざ作らんでも
>echoに色つけるcecho
バッチでできるし
>一文字読み取ってerrorlevelに返すreadkey
Vistaにはchoiceがあるし
0196デフォルトの名無しさん
2009/08/28(金) 08:23:190197デフォルトの名無しさん
2009/08/28(金) 11:08:260198デフォルトの名無しさん
2009/08/28(金) 13:05:060199デフォルトの名無しさん
2009/08/28(金) 13:43:55のつもりで
more *.txt | sort
ってやるとうまくいかないんだけど、どうすりゃいいの?
0200デフォルトの名無しさん
2009/08/28(金) 13:49:30cat ファイル名 相当なら type ファイル名 だろ
0201デフォルトの名無しさん
2009/08/28(金) 13:54:360202デフォルトの名無しさん
2009/08/28(金) 17:21:53------------ cat.bat
@echo off
for %%i in (%*) do type %%i
0203デフォルトの名無しさん
2009/08/28(金) 22:11:17もしかして「.txtと拡張子のつく各ファイルを、ソートして表示」…しようとしてそのコマンドを書いたのか?
0204デフォルトの名無しさん
2009/08/28(金) 22:54:01やりたいことは
sort *.txt
だけど、Winのsortが
sort *.txt
できないので、その代替
>>202
それしかなさそう
たしかに
cat *.txt | sort
の代替になるけど、
sort *.txt
の代替にはならないみたい
ファイル末に改行がないと、行が継続されちゃう
あーやんなっちゃう
0205デフォルトの名無しさん
2009/08/29(土) 00:31:29for ... do (
type %%i
echo.
)
0206デフォルトの名無しさん
2009/08/29(土) 04:32:180207名無しさん@そうだ選挙に行こう
2009/08/30(日) 17:10:190208名無しさん@そうだ選挙に行こう
2009/08/30(日) 17:32:190209デフォルトの名無しさん
2009/08/31(月) 07:10:55set path_win=c:\windows
set path_bin=c:\windows\bin
set path_font=c:\windows\fonts
for /f "usebackq delims== tokens=1,2" %%i in (`set ^| findstr /b path_`) do if not exist "%%~j" echo %%i(%%j)がねーよ&exit /b 1
実行結果
path_bin(c:\windows\bin)がねーよ
0210デフォルトの名無しさん
2009/08/31(月) 16:15:440211デフォルトの名無しさん
2009/09/01(火) 23:12:07http://pc12.2ch.net/test/read.cgi/software/1250213672/766
0212デフォルトの名無しさん
2009/09/02(水) 00:07:130213デフォルトの名無しさん
2009/09/06(日) 14:51:37うごかねーよ
0214デフォルトの名無しさん
2009/09/06(日) 15:43:590215デフォルトの名無しさん
2009/09/10(木) 00:55:29ってコマンドライン上から入力するとタスクに登録され
16:00 に「テレビの時間」ってかかれたテキストが表示される。
こういうのってどうやればできますか?
0216デフォルトの名無しさん
2009/09/10(木) 01:14:17vectorあたりでスケジューラ探してきた方が早くね?
0217デフォルトの名無しさん
2009/09/10(木) 09:58:28TITLE オリジナルメッセージ表示Test.
ECHO ┏≪お知らせ≫━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
ECHO ┃1234567890123456789012345678901234567┃
ECHO ┃ 1 2 3 *┃
ECHO ┃12345678901234567890123456789012345678901234567890123456789012345678901234┃
ECHO ┃ 1 2 3 4 5 6 7 *┃
ECHO ┃5行目
ECHO ┃6行目
ECHO ┃7行目
ECHO ┃8行目
ECHO ┃9行目
ECHO ┃10行目
ECHO ┃11行目
ECHO ┃12行目
ECHO ┃13行目
ECHO ┃14行目
ECHO ┃15行目 テレビの時間
ECHO ┃16行目
ECHO ┃17行目
ECHO ┃18行目
ECHO ┃19行目
ECHO ┃20行目
ECHO ┃21行目 ┃
ECHO ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
ECHO 何かキーを押してください。
PAUSE > NUL
0218デフォルトの名無しさん
2009/09/10(木) 12:37:02null がコマンドプロンプト
0220デフォルトの名無しさん
2009/09/10(木) 21:06:160221デフォルトの名無しさん
2009/09/10(木) 22:25:47@echo off
at.exe %1 /interactive mshta.exe "about:<h1>%*</h1>"
0222デフォルトの名無しさん
2009/09/11(金) 01:30:58mshta.exe "about:<h1>***</h1>"
これはおもろいな
0223デフォルトの名無しさん
2009/09/11(金) 13:33:48at.exe %1 /interactive msg.exe * %2
0224デフォルトの名無しさん
2009/09/11(金) 15:23:270225デフォルトの名無しさん
2009/09/11(金) 16:45:28TITLE オリジナルメッセージ表示Test.
ECHO ┏≪お知らせ≫━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
ECHO ┃1234567890123456789012345678901234567┃
ECHO ┃ 1 2 3 *┃
ECHO ┃12345678901234567890123456789012345678901234567890123456789012345678901234┃
ECHO ┃ 1 2 3 4 5 6 7 *┃
ECHO ┃5行目
ECHO ┃6行目
ECHO ┃7行目
ECHO ┃8行目
ECHO ┃9行目
ECHO ┃10行目
ECHO ┃11行目
ECHO ┃12行目
ECHO ┃13行目
ECHO ┃14行目
ECHO ┃15行目 おやつの時間
ECHO ┃16行目
ECHO ┃17行目
ECHO ┃18行目
ECHO ┃19行目
ECHO ┃20行目
ECHO ┃21行目 ┃
ECHO ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
ECHO 何かキーを押してください。
PAUSE > NUL
0226デフォルトの名無しさん
2009/09/11(金) 16:52:520227デフォルトの名無しさん
2009/09/12(土) 03:41:31Option Explicit
Dim k
k = MsgBox("( 現在の日時 " & Now & " )" & vbCrLf & vbCrLf & "まだ午前3:40すぎですが、起きますか?", 289, "メッセージテスト")
WScript.Quit(k)
0228デフォルトの名無しさん
2009/09/12(土) 13:14:150229デフォルトの名無しさん
2009/09/12(土) 13:22:360230デフォルトの名無しさん
2009/09/12(土) 13:34:420231デフォルトの名無しさん
2009/09/12(土) 13:41:400232デフォルトの名無しさん
2009/09/12(土) 14:02:17そこは vbCrLf でなく vbLf を使え
vbCrLf だと cr+cr+lf になるぞ
0233デフォルトの名無しさん
2009/09/12(土) 14:17:01REM:[email protected] //E:VBS //NoLogo "%~f0" %* & GOTO :EOF
にすればよかろう
0234デフォルトの名無しさん
2009/09/12(土) 14:51:25TITLE オリジナルメッセージ表示Test.
ECHO ┏≪お知らせ≫━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
ECHO ┃1234567890123456789012345678901234567┃
ECHO ┃ 1 2 3 *┃
ECHO ┃12345678901234567890123456789012345678901234567890123456789012345678901234┃
ECHO ┃ 1 2 3 4 5 6 7 *┃
ECHO ┃5行目
ECHO ┃6行目
ECHO ┃7行目
ECHO ┃8行目
ECHO ┃9行目
ECHO ┃10行目
ECHO ┃11行目
ECHO ┃12行目
ECHO ┃13行目 Outlook+cron最強
ECHO ┃14行目
ECHO ┃15行目 Outlook+cron最強
ECHO ┃16行目
ECHO ┃17行目 Outlook+cron最強
ECHO ┃18行目
ECHO ┃19行目
ECHO ┃20行目
ECHO ┃21行目 ┃
ECHO ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
ECHO 何かキーを押してください。
PAUSE > NUL
0235デフォルトの名無しさん
2009/09/12(土) 15:56:130236デフォルトの名無しさん
2009/09/12(土) 19:12:36はにゃ?
0237デフォルトの名無しさん
2009/09/12(土) 19:20:24はにゃ?知らんと?
CTRL+Cしてメモ帳に貼り付けて保存a.txt
バイナリで改行コードを調べてみ
そうか
for /f %a in (a.txt) do echo [%a]
でもわかるが
0238デフォルトの名無しさん
2009/09/12(土) 19:34:010239デフォルトの名無しさん
2009/09/12(土) 20:22:260240デフォルトの名無しさん
2009/09/12(土) 21:06:260241デフォルトの名無しさん
2009/09/12(土) 22:19:07@at.exe %1 /interactive mshta.exe "file://%~f0?%*"
@exit /b
'>
<script>resizeTo(320, 240);var arg=location.search.substr(1).split(/ /g);
document.title=arg[0];</script>
<hta:application innerborder="no" scroll="no" selection="no" />
<style>body{background-color:#00f;color:#00f;
font-family:'HG PGothicE';text-align:center;font-size:0px;}
div{position:relative;color:#fff;font-size:24pt;}</style>
<body onload="text.style.top=(108-20*arg.length)+'px';">
<div id="text"><script>document.write(arg.slice(1).join('<br>'));</script>
0242デフォルトの名無しさん
2009/09/13(日) 04:20:020243デフォルトの名無しさん
2009/09/14(月) 23:44:49eol=に羅列して複数文字を無視判定文字にすることはできないのですか?
0244デフォルトの名無しさん
2009/09/15(火) 01:08:000245デフォルトの名無しさん
2009/09/15(火) 14:43:45eolS? Sがないだろ?
0246デフォルトの名無しさん
2009/09/15(火) 23:53:360247デフォルトの名無しさん
2009/09/19(土) 00:49:53"eol="で無視判定文字をなしにすることはできないのですか?
0248デフォルトの名無しさん
2009/09/20(日) 21:46:120249デフォルトの名無しさん
2009/09/23(水) 21:47:140250デフォルトの名無しさん
2009/09/23(水) 22:19:23>>215のように
○○.bat 16:00 テレビの時間
のように起動してる?
0251デフォルトの名無しさん
2009/09/23(水) 22:41:540252デフォルトの名無しさん
2009/09/24(木) 00:04:16どうすれば可能でしょうか。一応、作ってみましたが、うまく動作してくれません。
サーバ格納先などのパスがわからないので、とりあえず自分のパソコン内で移動させようとしてます
CD C:\severkakunou
SK01.bmp
CD C:\hozonsaki
set /p INP="1:通常用、2:緊急用"
if INP == 1
del /p C:\severkakunou>SK01.bmp
C:\hozonsaki>copy SK01_00.bmp C:\severkakunou
else if INP == 2
del /p C:\severkakunou>SK01.bmp
C:\hozonsaki>copy SK02_01.bmp C:\severkakunou
else echo 入力できるのは「1」か「2」のみです
■ このスレッドは過去ログ倉庫に格納されています