[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/24 08:23 / Filesize : 194 KB / Number-of Response : 825
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

バッチファイルプログラミング 3.bat



1 名前:デフォルトの名無しさん [2006/05/25(木) 00:45:55 ]
前スレ
バッチファイルプログラミング 2.bat
pc8.2ch.net/test/read.cgi/tech/1104911889/

関連スレ
初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
pc8.2ch.net/test/read.cgi/win/1116131036/
MS-DOS・Win3.1総合スレッド
pc8.2ch.net/test/read.cgi/win/1025462258/
WSH(・∀・)スレッド!
pc8.2ch.net/test/read.cgi/tech/1055075469/

バッチファイルプログラミングとは・・・・
・ファイル拡張子が ".bat"
・複数のコマンドを使い、実行させるバッチファイルを作る
を満たせばOK!

82 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 10:39:36 ]
set "DATE^=bbb"
とすれば
echo ^%DATE^%
は置換されます。

%^DATE%や%^D^A^T^E^%なども置換されにくい。

逆に
SET p=%
echo %p%DATE%p%
なんてやると大丈夫みたい。


83 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

84 名前:デフォルトの名無しさん mailto:sage [2006/11/09(木) 11:31:20 ]
コマンドプロンプトも
(
echo echo hoge
echo exit
)|cmd
とやればコマンドスクリプト!


85 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 15:02:57 ]
""で括る場合は、
ECHO "%^DATE%"
とすると、^が"でエスケープされて、
"%^DATE%"
となるので、
ECHO ^"%^DATE%"
のように、奇数番目の"の前に^を付けます。
以降の^が"でエスケープされなくなります。


86 名前:デフォルトの名無しさん mailto:sage [2006/11/12(日) 16:56:14 ]
訂正
>ECHO ^"%^DATE%"
>のように、奇数番目の"の前に^を付けます。
>以降の^が"でエスケープされなくなります。

ECHO ^"%^DATE%^"
^"〜^"で^がエスケープされなくなります。


87 名前:デフォルトの名無しさん [2006/11/15(水) 00:10:13 ]
バッチファイルで起動しているアプリケーションの
プロセス名を取得するにはどのようにすれば良いでしょうか?

88 名前:87 mailto:sage [2006/11/15(水) 00:12:51 ]
osはWINDOWS2000とXPになります
よろしくお願いします

89 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 00:18:13 ]
>>87
MEM

90 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん



91 名前:デフォルトの名無しさん [2006/11/15(水) 12:14:00 ]
バッチファイルを使用して同じLANネットワークに接続されている
別のPCでDOSコマンドを実行したいと思っています。
どのようなコマンドで実現出来ますでしょうか?
OSはwindows2000になります。ご教授ください<(_ _)>

92 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 12:20:41 ]
バッチからDOSコマンド呼ぶだけじゃプログラミングとは呼ばない。

93 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

94 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 14:02:25 ]
>>87
2k tlist.exe
xp tasklist.exe


95 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 14:10:31 ]
初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
pc8.2ch.net/test/read.cgi/win/1152544955/108
>xcopyのコマンドでコピー先に既にあるファイルはコピーしない とするにはどうしたらいいでしょうか?

使用法: FindNotExistsCp.CMD コピー元ディレクトリ コピー先ディレクトリ

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR %%0 IN (%1) DO (
FOR /R %1 %%1 IN (*) DO (
SET x=%%~f1
SET x=!x:%%~f0=%2!
IF NOT EXIST "!x!" (
IF NOT EXIST "!x!\..\*" (
echo MD "!x!\.."
)
echo COPY "%%~f1" "!x!"
)
)
)


96 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 14:34:11 ]
誤爆?

97 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 15:50:19 ]
いや、バッチファイルプログラミングの話だからこっちかなと。

98 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 16:35:45 ]
バッチ内で
SET hoge=%hoge:a=b%
ってやると、hogeがないとき、
hoge=a=b
になります。変な仕様?


99 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 17:12:40 ]
動作はOSによって違ったりするし、そう動いたのならそういう仕様

100 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 17:20:40 ]
その辺はOSの仕様の話だからここへ ↓

Windows
pc8.2ch.net/win/



101 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 20:10:15 ]
何だか必死な人がいるねw

102 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 02:21:52 ]
どうせなら、記事の中身に注力してほしいな。


103 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 19:46:18 ]
あっちは下品でやーだ。


104 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 23:11:09 ]
FDのBATファイル作成で、TXTファイルをCドライブの
任意のフォルダにコピーしたいのですが、

copy /y test.txt C:\Downloads\test.txt

だと、Downloadsファイルにコピーされるのですが、
copy /y test.txt C:\Documents and Settings\test.txt

だと、「コマンドの構文が誤っています。」というエラーが
返ってきます。スペースの部分に%を入れたりしてみたのですが、
うまくいきません。

対処法をご存知の方、お知恵をお貸し頂けませんでしょうか。

105 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 23:18:34 ]
ダブルクオーテーションで括れ

106 名前:デフォルトの名無しさん mailto:sage [2006/12/04(月) 23:35:10 ]
>105
できました!!

ありがとうございます!!


107 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

108 名前:デフォルトの名無しさん mailto:sage [2006/12/06(水) 14:40:13 ]
はいはい

109 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 19:24:36 ]
> pc8.2ch.net/test/read.cgi/win/1152544955/558
ローマ字覚えたてのもんで、こっちに来ました。

rem setlocal
set /p random=加える数を入力してください
set /a hoge+=random
set random=

rem setlocal
set /p cd=ディレクトリを入力してください
cd /d %cd%
set cd=


110 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 19:35:03 ]
あっちいけ



111 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 22:18:42 ]
はいはい

112 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 19:39:47 ]
逆に、他人に使われるバッチ内で%CD%や%RANDOM%を使うときは、
念のため環境変数を削除してから使うようにしたほうがいいですね。


113 名前:デフォルトの名無しさん mailto:sage [2006/12/14(木) 19:46:42 ]
> pc8.2ch.net/test/read.cgi/win/1152544955/572
バッチで、標準入出力がコンソールかどうか区別する方法ってあります?

114 名前:デフォルトの名無しさん [2006/12/15(金) 00:07:16 ]
ageで失礼します。

%TEST1% のような変数の"1"の部分を別途変数にして表現させたいのですが
可能でしょうか?

SET TEST1=AAA
SET CNT=1
この後、%CNT%を使って%TEST1%の値AAAを表示させたいのですが。。
分かりづらくて申し訳ないです。

115 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 00:22:01 ]
MS-DOS ver4 以降のみですが・・・

echo echo %%TEST%CNT%%%>aaa.bat
call aaa.bat

116 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 00:28:13 ]
>>115さん
ありがとうございます。
試してみたのですが、できませんでした。。
結果 %TEST1% となってしまいます。
当方、XPです。

117 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 00:45:55 ]
>>116
%TEST1% という文字列が出力できるなら
それを新しいbatに書き込んで実行するだけだからもう一息だね!



互換性を犠牲wにしてもいいなら遅延環境変数の展開を有効にした方が簡単だけどね。
setlocal enabledelayedexpansion
echo !TEST%CNT%!

118 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 00:57:36 ]
>>117さん
中間ファイルを作らずに実行するには
setlocalしかないですかね。。?


119 名前:114,116,118 mailto:sage [2006/12/15(金) 01:01:37 ]
一応、中間ファイルを作成して実行できました!
できれば中間ファイルを挟まずに実行したいのですが、
setlocal 〜 でうまく出ませんでした。なぜだろう。。

120 名前:114,116,118 mailto:sage [2006/12/15(金) 01:11:39 ]
すみません。
echo | echo %test%cnt%% でいけました。

色々と教えてくれた方、ありがとうございます。
お騒がせしました。



121 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 02:08:57 ]
call echo %%test%cnt%%%


122 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 14:26:54 ]
パイプの右側はサブプロセスで実行されるので、
echo | set hoge=%%test%cnt%%%
とやっても、現プロセスで受け取れませんが、
call set hoge=%%test%cnt%%%
ならok


123 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 14:34:49 ]
ここは本スレへ誘導するためのスレです。

↓↓ ↓本スレはWindows板にあります↓↓ ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
pc8.2ch.net/test/read.cgi/win/1152544955/

124 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 14:48:49 ]
>>117
>遅延環境変数の展開
→環境変数の遅延展開(delayed expansion)


125 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 15:04:06 ]
call :sub echo %%TEST%CNT%%%
goto :eof
:sub
%*

126 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 16:14:57 ]
プログラミングじゃなくてOSの仕様の話だな

127 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 18:13:50 ]
cmd /c echo %%TEST%CNT%%%

お手を煩わせるのはなんなので

123 :デフォルトの名無しさん :2006/12/15(金) 14:34:49
ここは本スレへ誘導するためのスレです。

↓↓ ↓本スレはWindows板にあります↓↓ ↓

初心者〜管理者まで必読!コマンドライン(DOS Pt.5)
pc8.2ch.net/test/read.cgi/win/1152544955/

128 名前:デフォルトの名無しさん [2006/12/15(金) 20:27:09 ]
NGワード:初心者〜管理者まで
NGワード2:必読!コマンドライン






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<194KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef