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


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

【.cmd】 バッチファイルスクリプト %1 【.bat】



1 名前:デフォルトの名無しさん mailto:sage [2007/05/04(金) 21:33:11 ]
拡張子が .cmd または .bat のバッチファイルの
スクリプティング(プログラミング)にかかわる
質問,テクニック(JScript,Perl等の埋め込みなど含む),
関連情報のためのスレです。

【関連スレ】
バッチファイルプログラミング 3.bat
pc11.2ch.net/test/read.cgi/tech/1148485555/
WSH(・∀・)スレッド! Part 2
pc11.2ch.net/test/read.cgi/tech/1176698934/
Windows PowerShell (正式版リリース)1.0
pc11.2ch.net/test/read.cgi/tech/1163818863/
HTAをもっと流行らせる計画
pc11.2ch.net/test/read.cgi/tech/1124559962/
ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/
MS-DOS・Win3.1総合スレッド
pc11.2ch.net/test/read.cgi/win/1025462258/

※なんでも無理矢理バッチでやろうとせずWSH等の使用も
  検討しましょう。

656 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 03:20:18 ]
>>655
@echo off
echo 1d > hoge.tmp
echo e > hoge.tmp
edlin hage.txt < hoge.tmp
del hoge.tmp

657 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 03:31:42 ]
@echo off
for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y

658 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 04:05:36 ]
>>656

@goto a
1d
e
:a
@edlin hage.txt < "%~f0"

659 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 09:02:21 ]
unixのtailみたいなスマートな方法ないの?
もしかしてあんまり簡単にやってしまうとスレ違いになるから、無理に頭の悪い方法でやってる?

660 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:25:34 ]
スマートにやりたい人はCygwinやGnuWin32を入れる方向で

661 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 14:40:01 ]
for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y >"FILENAME.TXT"

for /f "skip=1 tokens=1* delims=:" %%x in ('findstr /r /n "^" "FILENAME.TXT"') do echo.%%y >>"FILENAME.TXT"


662 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 14:43:06 ]
>>661
当たり前だろ

663 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 19:51:39 ]
^Z

664 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:45:46 ]
>>658
(
echo 1d
echo e
)|edlin hage.txt

だけど、^Zが付くんじゃなあ

debugで削除するとか




665 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:09:58 ]
バッチファイルを実行したときの標準出力への出力を全部
ログに残したいんですが、いい方法はないでしょうか?
「これを最初に書いておけば以降の出力は全部ログに残る」
みたいのがあれば一番いいんですが。

666 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:11:27 ]
call :main > "%~0.log"
exit /b

:main
echo hello


667 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:12:17 ]
>>666 ありがとうございます。

668 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:46:07 ]
フォルダをドロップしたら中にあるファイルごとフォルダを削除してくれる
batファイルはありますでしょうか。

669 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 09:59:27 ]
がんばって作るんだ。

670 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:04:36 ]
デバッグどころか一度も実行していないが

if "%~1"=="" goto err
cd /d "%~1" || cd /d "%~dp1" || goto err
dir /w
echo.
echo "%cd%"のフォルダとファイルを削除します
pause
set folder=%cd%
del *.* || goto err
cd .. || goto err
rmdir "%folder%" || goto err
goto exit

:err
echo error
pause

:exit

671 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:13:22 ]
エクスプローラでドロップするんならエクスプローラで削除すれば簡単なのに

672 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:17:12 ]
>>669-670ありがとうどざいました。
>671DOSで削除した方がHDDにやさしいような気がしたもので。


673 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:22:19 ]
( ゚д゚)ポカーン

674 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 10:33:18 ]
そしてうっかり間違ったフォルダを消して涙目の>>668



675 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 14:53:42 ]
大量に消すときはrd /s/qだな

676 名前:デフォルトの名無しさん [2007/10/29(月) 16:21:35 ]
ご助言お願いします。
test.txtという3行のファイルがあり、
その中身は以下のようになっています。

あかさたな
123456
ABCDEFG

1行の内容を1つの変数に格納したいのですが、
どのようにすればよいでしょうか。
FOR文を色々書いてみましたが、どうしても1行目しか
変数に入れられませんでした。



677 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 16:27:06 ]
初心者向きのスレはこっち↓

ユーザー必読!コマンドライン(DOS Pt.6)
pc11.2ch.net/test/read.cgi/win/1176558776/

678 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 18:33:23 ]
(
set /p a=
set /p b=
set /p c=
)<test.txt
set d=%a% %b% %c%


679 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 18:40:48 ]
>>676
@echo off
for /f "tokens=1* delims=:" %%I in ('findstr /n /r "^" test.txt') do set AAA[%%I]=%%J

set AAA[

>>677
前スレであぼーんされたの忘れたの?
アク禁されないように気をつけろよ。

680 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:13:28 ]
やっぱスレ違いの質問に答えるやつはレベル低いな

681 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:30:29 ]
初心者でもこのスレでOKですよ。
スレ違いの質問に見えているとしたら頭が悪いのです。

682 名前:デフォルトの名無しさん [2007/10/29(月) 19:31:08 ]
ヤター!チャンス!
さっそく使わせてもらいます。

>>680 誘導厨は帰れ!自分の巣へ帰れ!37度線よりこっちに来るな!

683 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:31:27 ]
>>681
いい加減ウザいんだが。自演じゃないなら自粛してくれ。

684 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:36:06 ]
>>682
誘導厨はリアル人格障害のようだからレスするだけ無駄っぽいですよ。



685 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 19:41:26 ]
>>682
全然関係ないけど、37じゃなくて38だろと。

686 名前:デフォルトの名無しさん [2007/10/31(水) 20:21:53 ]
マシンAのバッチファイルから、マシンBにあるバッチファイルを実行する方法はないでしょうか。

1,マシンAのバッチファイルで、マシンBに対して何らかの通信を行うプログラムを実行
2,マシンBはAからの通信を受けてバッチ実行

というような感じになるのかなと思うのですが、こういう事は可能でしょうか。


687 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:22:41 ]
つ[rsh]

688 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:31:01 ]
つWshRemote

689 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 20:54:18 ]
パソコンの使い方

690 名前:686 mailto:sage [2007/10/31(水) 20:57:14 ]
大事なことを書き忘れていました。
マシンA、BともにWiindows2000です。

>687
せっかく教えていただいたのに済みません。
Windows2000なのです。

>688
なるほど、WSHですか。
使ったことなかったですが、今回の目的程度であれば
ググッたサイトで見つけたサンプルを改変すればできそうな気がしてきました。
あした試してみます。ありがとうございます。


691 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 21:02:44 ]
>>689
パソコンの使い方は pc11.2ch.net/pcqa/ で訊いてくださいね

692 名前:デフォルトの名無しさん mailto:sage [2007/10/31(水) 22:03:55 ]
つWMI Win32_Process.Create


693 名前:687 mailto:sage [2007/11/01(木) 04:14:14 ]
>>690
大変恐縮ですが、Win2kにもrsh.exeというものがありましてね。
調べもしないで戯けたこと抜かすんじゃねぇ。

694 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 12:59:37 ]
rshdがないんじゃないの?



695 名前:デフォルトの名無しさん [2007/11/01(木) 14:24:48 ]
( ´,_ゝ`)プッ

696 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 19:46:44 ]
渡ってきた引数がパスなのですが
それがディレクトリかファイル化を判断したいのですが、どうすればよろしいでしょうか。

697 名前:デフォルトの名無しさん [2007/11/01(木) 20:15:47 ]
SET UNKO=C:\WINDOWS
IF EXIST "%UNKO%\*.*" ECHO ディレクトリだよ〜〜ん
IF NOT EXIST "%UNKO%\*.*" ECHO たぶんファイルだよ〜〜ん


698 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:10:43 ]
レベルの低い質問にお粗末過ぎる回答
ここプログラム板だよね

699 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 22:25:03 ]
pushd %1
if errorlevel 1 echo not folder


700 名前:デフォルトの名無しさん [2007/11/01(木) 23:00:10 ]
>>698
何一つ質問に答えられないで、文句だけ書いていくおまいさんより、よっぽど建設的だと思うぞ。

701 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:20:29 ]
if exist %1 if not exist %1\nul (
  echo file
  ) else (
  echo directory
)

702 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:22:49 ]
test -d %1 && echo dir || echo file

703 名前:デフォルトの名無しさん mailto:sage [2007/11/01(木) 23:27:01 ]
echo n | del /F %1 >NUL 2>&1
if errorlevel 1 (echo '%1' is a directory.) else echo '%1' was a file.

704 名前:デフォルトの名無しさん [2007/11/02(金) 00:48:16 ]
次の条件でバッチファイルを作成してください
・フォルダ内にある複数のファイルを結合し一つにする
・結合してできたファイル名は自由
・結合されたファイルは削除される
・フォルダ内にファイルがない場合はエラーメッセージを出力し処理を終了
よろしくお願いします。



705 名前:686 mailto:sage [2007/11/02(金) 02:30:34 ]
>>693

すみませんでした。
「rsh windows」でググったら、一番上に出てきたMicrosoftのサイトに
Win2000ではrshは無いって書いてあったんで、そうなんだとばかり・・・。
SFUってのをインストールしたら2000でもいけるっぽいですね。
また明日試してみます。
ありがとうございました。

706 名前:デフォルトの名無しさん [2007/11/02(金) 11:51:18 ]
>>701-703
市ね

707 名前:デフォルトの名無しさん [2007/11/02(金) 12:08:22 ]
>>699
それ、カレントディレクトリが変更されてしまうという副作用があるので美しくない。
あと、ネットワークだと勝手にZドライブが割り当てられてしまうんだよね。
これを良しとするかダメとするかは人それぞれだろうけど。


708 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:32:05 ]
pushd %1 && popd

709 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 14:37:27 ]
echo %~a1

710 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 01:29:20 ]
参考スレ(誘導厨に関して)
軽度発達障害者に迷惑してる生活part2
life8.2ch.net/test/read.cgi/kankon/1194103268/
★☆☆ アスペルガーだけどプログラマ
pc11.2ch.net/test/read.cgi/prog/1174990403/

711 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 06:23:12 ]
.batと.cmd以外の拡張子もバッチファイルとして、
ダブルクリックで起動できませんか?

712 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 09:04:22 ]
>711
パソコンやOSの使い方の質問は板違い

PC初心者
pc11.2ch.net/pcqa/

Windows
pc11.2ch.net/win/

713 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 15:52:02 ]
.extの@値をbatfileにすればよい

714 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 20:08:43 ]
>>712
人格障害者のあなたは
life8.2ch.net/utu/
に行って下さい。



715 名前:デフォルトの名無しさん [2007/11/07(水) 23:45:56 ]
>>712
市ね。いや氏ね。むしろ誌ね。っていうか、詩ね。だが結局、士ね。

716 名前:711 mailto:sage [2007/11/08(木) 02:26:00 ]
>>713
ダメでした。 ダブルクリックすると、
「c:\hogehoge\hoge.cam は有効な Win32 アプリケーションではありません。」
と出ました。

フォルダオプションのファイルの種類で、.camを見ると、
「アクションを実行するアプリケーションは」
"%1" %*
となっていました。

717 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 04:43:47 ]
フォルダオプションでなくregeditでレジストリを見てください

718 名前:711 mailto:sage [2007/11/08(木) 08:03:06 ]
regeditを使って .camの@値をbatfileにしましたけど駄目です。

719 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:14:27 ]
%SystemRoot%\System32\cmd.exe /c %1って具合に関連付けすればいいんじゃないの?

720 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:15:32 ]
ああごめん、cmd.exeがバッチファイルとして見なしてくれなさそうな気がする。駄目だなきっと。

721 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 09:07:18 ]
@="%1" %*
こうだべ

722 名前:デフォルトの名無しさん [2007/11/08(木) 10:39:00 ]
すいません教えて下さい
パソコンの音量を下げるにはどうしたらいいんでしょうか
Windows XPです

723 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:59:12 ]
>722
Windowsの使い方は板違い

PC初心者
pc11.2ch.net/pcqa/

Windows
pc11.2ch.net/win/

724 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 14:02:04 ]
自演乙



725 名前:デフォルトの名無しさん [2007/11/08(木) 14:39:32 ]
>>722
google [ 窓の杜 音量 ]


726 名前:デフォルトの名無しさん [2007/11/08(木) 14:41:05 ]
>>723
しね

727 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 20:38:56 ]
>>721
どうなるの?

728 名前:711 mailto:sage [2007/11/08(木) 22:25:29 ]
>>719
「アクセスが拒否されました。」
と出ました。

>>721 試してみます。

729 名前:デフォルトの名無しさん [2007/11/08(木) 23:09:12 ]
無駄無駄。もし、そんな事ができてしまったら、セキュリティ・ホールになるやろ?
素直に拡張子 bat か cmd にしておけ。

730 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:46:31 ]
perlをバッチファイルにスクリプトとして埋め込む方法は見たことありますが、
cscript.exeもそういうことって出来るんですか?

731 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 23:55:01 ]
>>730
例が>>291にありますよ

732 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:21:01 ]
おお、できました。ありがとう。
これで端末変えるたびにperlを入れる手間から開放されるかも。

733 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:47:47 ]
埋め込みの理屈がまたわかってないけど、
↓みたいにすれば拡張子を省けるみたいね

@if (0)==(0) echo off
if exist %0 cscript.exe //nologo /e:jscript %0 > out.txt
if exist %0.cmd cscript.exe //nologo /e:jscript %0.cmd > out.txt
if exist %0.bat cscript.exe //nologo /e:jscript %0.bat > out.txt
exit /b
@end
WScript.StdOut.WriteLine("Hello World!");

734 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 00:55:36 ]
>>733
%~f0と書けば%0のフルパスが得られるのでもっと簡単にできますよ。

@if (0)==(0) echo off
cscript.exe //nologo /e:jscript %~f0 > out.txt
exit /b
@end
WScript.StdOut.WriteLine("Hello World!");



735 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 01:08:08 ]
あ、なるほど。それなら暗記もしやすい。

んで、やっと埋め込みの理屈を理解。
@ifはjscriptの条件コンパイル(#ifdefみたいな?)でもあるんだね。
@if (0)から@endまでの間にBATコードを書いてもOKと。これはおもろい。

736 名前:711 mailto:sage [2007/11/09(金) 09:18:05 ]
>>721
ダメでした。

>>729
そうします。

737 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:36:48 ]
cmd.exeをコピーcmdxxx.exe
バイナリエディタで中の. B A Tか. C M Dを. X X Xに(unicode)
.XXXの関連付けをcmdxxx.exe /c "%1" %*


738 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 11:11:26 ]
なるほどねー拡張子さくっとリネームしてあきらるもよし
バイナリの番地探しで視力落とすもよしか

定かじゃないけど拡張子違うの動かしてるっぽい環境
を昔見た記憶がある。思い出せないけど

cmd /c type "%1" | cmd %*
cmd /c cmd < "%1"
こんなんとかに近かったような、
今はっきり言えるのはそれが思い出せないって事だ

739 名前:デフォルトの名無しさん [2007/11/09(金) 11:52:21 ]
まだやってるのかよ。
本人が納得したんだから、もう終わった話だろ?
>>737-738
ウイルス作成の話題は板のルールで禁止されています!
おまいら視ね!!!

740 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 18:18:43 ]
cmd <%1 方式はバッチの機能が使えないから使い物にならんよ


741 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 19:46:20 ]
ayasige.exeをayasige.txtにリネームして、
[cmd /c] ayasige.txt
で動くcmd.exeのほうがよっぽど如何わしいぞ

742 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:11:10 ]
パラメーターのファイルの容量は%%~z1でいいんだけど、変数%HOGE%に入ったファイルの容量ってどうやって調べるの?

743 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 22:54:04 ]
for %%i in (%HOGE%) do echo %%~zi

744 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:02:57 ]
>742
それプログラミングの話か?
パソコンの使い方はスレ違い以前に板違いだぞ



745 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:04:12 ]
PC初心者
pc11.2ch.net/pcqa/
Windows
pc11.2ch.net/win/

746 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 23:28:03 ]
>>743
なーるほど、ありがとうございました

>>744-745
なるほど、ありがとうございました(笑)

747 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 00:24:57 ]
バッチファイルで現在いるフォルダ名を取得する方法ないかな?

C:\Program Files\Internet Explorer
だったら
Internet Explorer
を取得したいんだけど、よい方法が思い浮かばないです


748 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 01:54:40 ]
>>747
for %%I in ("%CD%") do echo %%~nI

749 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 10:15:54 ]
>>747
%cur%に取得
for %%I in (.) do set cur=%%~nI%%~xI

750 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:22:54 ]
CALL :tekitou %CD%
GOTO :EOF

:tekitou
ECHO %~f1
GOTO :EOF

751 名前:デフォルトの名無しさん mailto:sage [2007/11/18(日) 14:24:20 ]
間違えた、%~n1 だった

752 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:00:05 ]
「あるプロセスが終了したら」や「あるプロセスが起動していたら」などの条件を指定することは可能でしょうか?

753 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:01:46 ]
if hoge==あるプロセスが終了したら echo hage

754 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 01:06:26 ]
wmic.exe
or
tasklist.exe




755 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 03:25:31 ]
wkill.exe /w | find /i "あるプロセス"

フリーソフト

756 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 04:11:03 ]
Windows標準以外のコマンドを使うのはありだっけ?






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

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

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