初心者〜管理者まで必読!コマンドライン(DOS Pt.8)
レス数が1000を超えています。これ以上書き込みはできません。
0001名無し~3.EXE
2009/05/24(日) 12:10:19ID:J07+u5PgDOS由来コマンドだけでなく、Windows バージョンアップのたびに拡充されてきたコマンド、
wsh(cscript)、cygwin、Resource Kit、Support Tools、その他のフリーソフト等ふくめ
コマンドラインインタフェースに関するネタならなんでもOK。
質問も歓迎だけど、自分で調べて勉強する努力も忘れずに。
前スレ
初心者〜管理者まで必読!コマンドライン(DOS Pt.7)
http://pc12.2ch.net/test/read.cgi/win/1217738171/
0002名無し~3.EXE
2009/05/24(日) 12:12:45ID:J07+u5Pg1 http://pc.2ch.net/win/kako/1002/10023/1002392089.html
2 http://pc5.2ch.net/win/kako/1013/10138/1013833995.html
3 http://pc8.2ch.net/test/read.cgi/win/1062775949/l50
4 http://pc8.2ch.net/test/read.cgi/win/1116131036/l50
5 http://pc11.2ch.net/test/read.cgi/win/1152544955/l50
6 http://pc11.2ch.net/test/read.cgi/win/1176558776/
7 http://pc12.2ch.net/test/read.cgi/win/1217738171/
対立状態のスレ
【.cmd】 バッチファイルスクリプト %5 【.bat】
http://pc12.2ch.net/test/read.cgi/tech/1242268171/
0003名無し~3.EXE
2009/05/26(火) 03:13:24ID:mD4e5/jghttp://www.hir-net.com/soft/win/srh.html
0004名無し~3.EXE
2009/05/26(火) 03:19:53ID:OBkD1YXH0005名無し~3.EXE
2009/05/26(火) 08:17:24ID:u9nnF59yhttp://www.piedey.co.jp/softs/ntuxtl014.html
0007名無し~3.EXE
2009/05/26(火) 18:56:40ID:3oDYyUze0008名無し~3.EXE
2009/05/27(水) 17:13:14ID:IeTG/H22表示はできるのに、 > fin.txtとリダイレクトすると永遠に処理待ちやエラーになってしまいます。
|FINDSTR: 開くことができません (fin.txt)
|grep: >: Invalid argument
|grep: fin.txt: No such file or directory
*nixなどのエスケープ文字としての \ と、コマンドプロンプトとは異なるのでしょうか?
にしても、リダイレクトにするとエラーになるのがイマイチわかりません。
" を試していた時の hoge.txtは、こんな感じです。
"hoge"
"moge"
moge
hoge
[EOF]
試したコマンドラインは、こんな感じです。
c:\>grep "hoge\"" hoge.txt > fin.txt
c:\>grep "hoge\"" hoge.txt > fin.txt
c:\>grep "hoge\""" hoge.txt > fin.txt
c:\>grep "hoge^"" hoge.txt > fin.txt
c:\>grep "hoge^""" hoge.txt > fin.txt
正しいコマンドラインを教えてください。よろしくお願いします。
0009名無し~3.EXE
2009/05/27(水) 17:57:53ID:bcbvf9/wgrep ^"hoge\^"^" hoge.txt > fin.txt
00108
2009/05/27(水) 20:38:00ID:IeTG/H22できました!ありがとうございます。
コマンドプロンプトのエスケープ文字が ^で、コマンドラインとして与える時には、
キーワードの対象文字全てに ^しておけばいいんですね!間にスペースを挟む場合も、これでいけました。
|C:\>grep ^"hoge hoge\^"^" "hoge hoge.txt" > "fin hoge.txt"
こっちの例ではダメでした。処理待ちになってしまいます。動作確認は、XP/Vistaで。
|c:\>grep hoge^" hoge.txt
|c:\>grep ^"hoge hoge.txt
別件。
move hoge.txt temp
move moge.txt temp
(しかも、tempディレクトリを作り忘れたまま)で、やってしまいました。
コマンドラインだと、上書き確認されるので、batにも、そのまま書いてたら…
batの場合は明示的に/-Yつけてないと、確認無いんですね…。
油断してました。いや、こんなコトに今まで気づかなかった自分が情けない。
0011名無し~3.EXE
2009/05/28(木) 14:50:18ID:rjF1CB1Lsetlocal enableextensions enabledelayedexpansion
set t=abcdefg
echo !t:~0,4!
if !t:~0,4!==abcd echo !t:~0,4!
実行結果
abcd
4!==abcd の使い方が誤っています。
何でこうなるのかさっぱり分からないです…
何か根本的な勘違いをしているのでしょうか?
0012名無し~3.EXE
2009/05/28(木) 18:57:28ID:A/EjCJLrこんな何時間も誰も相手にしないということは警戒されてる時
if "!t:~0,4!"=="abcd" echo !t:~0,4!
でいけるだろ、と書いたら
「そうじゃないんですよ、何でこうなるのかその理由を知りたいんですよ」
と牙をむいてくってかかってくる危険性が文章に仕掛けられている
それでみんな相手にしないと
まあそういうこと
>>11は直しかたもすべてわかった上でわざと聞いてる、と考えるのが妥当
0013名無し~3.EXE
2009/05/28(木) 19:17:45ID:U+1mTaXD間違いないの?
0014名無し~3.EXE
2009/05/28(木) 19:20:53ID:A/EjCJLr勝手に想像すればいいだろ
思うのはタダなんだし
0015名無し~3.EXE
2009/05/28(木) 19:46:08ID:HudDQAtG0016名無し~3.EXE
2009/05/28(木) 19:57:37ID:HudDQAtG0017名無し~3.EXE
2009/05/28(木) 20:01:15ID:rjF1CB1L> 「そうじゃないんですよ、何でこうなるのかその理由を知りたいんですよ」
この部分は多分にあるけれど
> >>11は直しかたもすべてわかった上でわざと聞いてる、と考えるのが妥当
これは無いです。
>>15で行けるのは分かったがなぜエスケープしなければならないのかが疑問。
if文でカンマって何を意味するんでしょうか?
ヘルプにはそれに関することは何も書いてないし…
0018名無し~3.EXE
2009/05/28(木) 20:02:37ID:rjF1CB1L結構何度もバッチ書いてるのに今まで引っかからなかったのが疑問な位ですが。
0019名無し~3.EXE
2009/05/28(木) 20:05:48ID:HudDQAtGttp://it-is-it.net/CMD/%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF/#content_1_12
0020名無し~3.EXE
2009/05/28(木) 21:05:54ID:rjF1CB1Lありがたいです。
結構何年もバッチ書いてて初めて知ったようなw
>>12
さっきは気づきませんでしたが
> if "!t:~0,4!"=="abcd" echo !t:~0,4!
これじゃ駄目ですよね。
0021名無し~3.EXE
2009/05/28(木) 21:49:39ID:U+1mTaXD0022名無し~3.EXE
2009/05/28(木) 22:04:10ID:FXpuass2牙をむいてくってかかってくる
はい予言的中ww
僕ちゃんなんねんもバッチ書いてまちゅー
けど、出来るかどうか自分では試すことはできません
何年もバッチ書いいてる>>20
0024名無し~3.EXE
2009/05/29(金) 00:16:02ID:oLZd7y0Bひねくれた根性の悪さが災いして一言反撃してやろうという魂胆が墓穴掘ったな
>これじゃ駄目ですよね
とうどういうこと
パソコン持ってないの?バッチ書いて動かせば1秒で結果でる
なぜ他人に質問してるの?2chに投稿してる暇があったら簡単にできる
数年のバッチ歴をひけらかす日本を代表するバッチ男なんだろ
試してないが「これに書いてるのはどうせ駄目なんだろう」と言う意味か
0025名無し~3.EXE
2009/05/29(金) 00:29:10ID:oLZd7y0B0026名無し~3.EXE
2009/05/29(金) 17:22:17ID:w+z3gxifif !t:efg^=!==abcd echo !t:efg=!
if "!t:efg=!"=="abcd" echo !t:efg=!
0027名無し~3.EXE
2009/05/31(日) 19:28:11ID:DR7uDBvlfor /f deims^=^; でもおなじ
0028名無し~3.EXE
2009/06/03(水) 02:51:38ID:ck8yxly5type *.log > hoge.txt
↑でhoge.txtににまとめようとすると昇順にまとまりますよね?
これを降順にhoge.txtにまとめたいのですが、どうも初歩的過ぎるようで参考になる情報がみつかりません。
どなたか教えてください。
0029名無し~3.EXE
2009/06/03(水) 03:00:10ID:J8ZwyB0Pfor/?
0030名無し~3.EXE
2009/06/04(木) 10:52:38ID:7MAETh4y0031名無し~3.EXE
2009/06/06(土) 15:03:51ID:F7d/m+Rp0032名無し~3.EXE
2009/06/09(火) 10:59:57ID:NQrs1Op8初心者〜管理者まで必読!コマンドライン(DOS Pt.4)
http://pc8.2ch.net/test/read.cgi/win/1116131036/789
でarghelperを改造してうpされたarghelper2をお持ちになっている方
いらっしゃいましたらどこかにうpしていただけないでしょうか?
うpされたスレの住人の方なら落とした方もおられると思い
書き込ませていただきました
よろしくお願いします
0033名無し~3.EXE
2009/06/09(火) 23:39:25ID:mt6Snbpi0034名無し~3.EXE
2009/06/23(火) 16:00:49ID:ZVBQKxIbOperaが終了したらif/else文かなにか(?)で判定してProxomitronを自動終了
というような作業をするのが目的です
…が、if/else文はファイルしかサポートしてないようなので質問します
0035名無し~3.EXE
2009/06/23(火) 16:25:30ID:q4qio8Qlif /?
どこにファイルだけなんて書いてある?
そもそもif”だけ”で判断するようなもんじゃないが。
0036名無し~3.EXE
2009/06/23(火) 16:40:43ID:y/3TVaEzif existのtypoだろ
>>34
for /f ... in ('tasklist /fi ...')
0037名無し~3.EXE
2009/06/24(水) 22:29:20ID:LRPaRqD+WSHも使いづれーし意図的にGUI側に誘導しようとして
糞なまま放置したとしか思えん。
0038名無し~3.EXE
2009/06/24(水) 23:21:28ID:dzTfVbio0039名無し~3.EXE
2009/07/01(水) 04:30:23ID:Ld7/kfoMドライブレターだけ削除したいのですが、
どんなコマンドがありますか?
diskpartのremoveだとリムーバブルドライブしか駄目なようなので困っています。
0040名無し~3.EXE
2009/07/01(水) 05:02:58ID:Ld7/kfoMシンプルボリュームでもいけたわw
0041名無し~3.EXE
2009/07/13(月) 08:04:47ID:OPDIBkI8使う方法ってありますか?どうもif文の入れ子の要領でやってもうまくいかないようで。
0042名無し~3.EXE
2009/07/13(月) 12:32:50ID:mAS4nOkY推測するにif文のところが問題なんではなく変数展開の問題と思うが。
遅延環境変数展開って言葉知ってるか?
0043名無し~3.EXE
2009/07/13(月) 14:11:35ID:OPDIBkI8>遅延環境変数展開って言葉知ってるか?
知ってます。でも基本的に駄目なんです、それ使っちゃ。大体こんな感じです。
set move_dir=C:\hoge\
rem パス中やファイル名に!があるかもね
if not exist "%move_dir%%~nx1" (
for /f usebackq^ eol^=^ delims^= %%T in (`dir /b "%~dp1*%~n1*.*"`) do (ここでif not exist "%move_dir%%%T"ならmove "%~dp1%%T" "%move_dir%"とかしたい)
0044名無し~3.EXE
2009/07/13(月) 14:12:36ID:OPDIBkI80045名無し~3.EXE
2009/07/13(月) 19:52:22ID:bBcl68LQ0046名無し~3.EXE
2009/07/15(水) 22:24:47ID:+fkSyIOkおぉそういえばそうか!とも思ったけど、move以外のコマンドを使う可能性も
十分考えられるので、自分なりにファイルパス中に()や!が含まれるケースの
操作方法について考えてみた。
------------------------------------------------------------
set move_dir=C:\hoge\
for /f usebackq^ eol^=^ delims^= %%T in (`dir /b "%~dp1*%~n1*.*"`) do (
set target_F=%%T
set target_P=%~dp1%%T
call :move_action
)
goto :EOF
:move_action
if not exist "%move_dir%%target_F%" (
move "%target_P%" "%move_dir%"
) else (
echo "%move_dir%%target_F%"は既に存在します、移動取り消し
)
goto :EOF
------------------------------------------------------------
うーん、前スレの特に後半あたりでよく出てきた用例に触発されて
最近callをよく使ったりしてるが、実に使いやすい・・・
0047名無し~3.EXE
2009/07/16(木) 14:47:32ID:SRbrJlc8for %%I in ("%~dp1*%~n1*.*") do (
if not exist "%move_dir%%%~nxI" (
move "%%I" "%move_dir%"
) else (
echo "%move_dir%%%~nxI" は既に存在します、移動取り消し
)
)
これじゃ駄目なのか
0048名無し~3.EXE
2009/07/26(日) 10:23:13ID:2Xdbgl+/ipconfig ではLAN内のローカルアドレスしか取れないので困ってます。
できればWindowsネイティブの関数、なければcygwinで使えるものを探しています。
0049名無し~3.EXE
2009/07/26(日) 11:38:28ID:AA+EcTwjRequest-Hostを出してくれるような外部鯖を使わないとまず無理
もしくはtracertであたりを付けるか
0050名無し~3.EXE
2009/07/26(日) 18:13:06ID:gQatFLJILAN環境でのグローバルIPはそのPCが持ってるわけじゃないから
PCでコマンド打とうが何しようが出て来ないさ
グローバルIPを持つのはルータのグローバル側のポートだから
Telnetでルータに接続してifconfig叩く位しかない
0052名無し~3.EXE
2009/07/30(木) 14:53:18ID:z5/Qe4zHtreeやらdirでフォルダを一覧にする際に、
特定の階層まで(一階層下までなど)で、出力することはできますか?
たとえばtreeやると、ずらーーーと何階層も下のフォルダまで表示するじゃないですか。
それを一階層までにしたいときはなんて入力しますか?
誰かお願いします
0053名無し~3.EXE
2009/07/30(木) 15:49:53ID:gsmrRno3正直お勧めしない
@echo off
for /D %%a in (%1\*) do (
for /D %%b in (%%a\*) do (
rd /s /q %%b
)
)
tree %1
0054名無し~3.EXE
2009/07/31(金) 02:42:25ID:fPLWy6Es0055名無し~3.EXE
2009/07/31(金) 14:22:58ID:aMNXwXZ0整頓してファイルをまとめた一つのディレクトリを作りたいと考えています。
ディレクトリのみを消してファイルを残すというコマンドや方法はあるのでしょうか?
0056名無し~3.EXE
2009/07/31(金) 15:39:01ID:fPLWy6Es>ディレクトリのみを消してファイルを残す
できない
0057名無し~3.EXE
2009/07/31(金) 15:44:11ID:agFRUhUiでエラー吐きながらもやってくれた希ガス。
今は環境ないからわかんないけども。
コマンドラインでなくてもいいなら
移動とりどりでできる。
0058名無し~3.EXE
2009/07/31(金) 17:17:20ID:fdOz/WAg発想を変えてWinRARを使ってオプションでフォルダ情報を格納しないにして無圧縮で固める
同名ファイルがないという前提だけどな
もしくはこんなのとか
http://download.goo.ne.jp/software/contents/soft/winnt/util/se475720.html
http://www.forest.impress.co.jp/article/2009/04/07/okiniiri.html
0059名無し~3.EXE
2009/08/03(月) 12:52:09ID:sXdkUTTqこれらのファイル名から[1]だけを外したいのですが、どうすればいいでしょうか?
0060名無し~3.EXE
2009/08/03(月) 13:06:16ID:cohpzHC7位置が動くとちょっと面倒くさいな。
0061名無し~3.EXE
2009/08/03(月) 14:32:01ID:19p30T4eren ?????.* ??.*
ren ??????.* ???.*
...
0063名無し~3.EXE
2009/08/03(月) 18:06:30ID:tjheU55c0064名無し~3.EXE
2009/08/03(月) 18:18:30ID:cohpzHC7abcという文字列が区切りになるわけじゃない。
0065名無し~3.EXE
2009/08/03(月) 19:15:57ID:19p30T4eFOR /F "delims=" %%a IN ('dir /b') DO (
set n=%%~na
call ren "%%~a" "%%n:~0,-3%%%%~xa"
)
0066名無し~3.EXE
2009/08/03(月) 21:00:08ID:tjheU55cそうか、すまんかった(・ω・)
文字列の置換さえ出来れば[1]を/かなんかにして終わりなんだけど
0068名無し~3.EXE
2009/08/04(火) 01:48:13ID:2oemaiCU0070名無し~3.EXE
2009/08/04(火) 08:51:19ID:bM8zLHQH:Nide/com2txt/X-uw'P'5+~PZ5g(P]-vjPRU-*`P5H9P-E)PZ-KaP5V2P]5hTP5BSPRUVES
:?[X5;:PZ5WN'PR',~P/5`QP5Z P-UrPEUQ]EENNNNNN:~
@echo off
( setlocal
ren %0 %~n0.com
"%~dpn0.com" 5 5秒PAUSE
ren "%~dpn0.com" %~nx0
endlocal )
:~?aM!3"b3wvD[6%HF"6,IBt<[6j,I%0-2T`$,!tp"MdTpq36%H'LPi[6E%Iu<VPf0eH`!!^
:H7f-^e0f-Ptv9<\6wH)^-#]wf"-I%^f0f-5nvHrPevpoPKgf-<&^#]%Cf-]$Bf-?^H;f-*
0071名無し~3.EXE
2009/08/04(火) 10:13:09ID:846xHv3P0072名無し~3.EXE
2009/08/04(火) 21:11:07ID:D+JSY9pz日本語でOK
0073名無し~3.EXE
2009/08/04(火) 21:12:06ID:B0RbKmnK0075名無し~3.EXE
2009/08/05(水) 19:29:52ID:rdCan5z30076名無し~3.EXE
2009/08/13(木) 03:58:40ID:X1z/qzmZhttp://tv.goo.ne.jp/index.html
http://tv.goo.ne.jp/index.html
http://www.axonpro.sk/japo/info/MS/SBS/
http://www.findthatfile.com/index.php?q=batch&mediaselect=Z&offset=400
http://44.130.51.150/obcm/run/dos/timeout/?C=N;O=D
http://202.50.176.69/1_tools/?C=M;O=A
http://www.langman.com.tw/My_ICON/Exe_Ico/
http://home.elka.pw.edu.pl/~gniemiro/stuff/?C=D;O=A
http://www.siskiyoutech.com/support/utils/fastpush/utils/?C=M;O=A
http://www.siskiyoutech.com/support/utils/fastpush/utils/TIMEOUT.EXE
http://sistemas.cacto.com/software/SOFT/xertix/tools/
http://cd.textfiles.com/hof91/GAME4/?N=D
http://44.130.51.150/obcm/run/dos/timeout/
http://202.50.176.69/1_tools/?C=S;O=A
http://twistedtechie.com/t00lkit/Computer-Repair-Utility-Kit-V2/File%20Management/JkDefrag%20GUI/Programs/
http://www.siskiyoutech.com/support/utils/fastpush/utils/?C=N;O=D
http://www.cyf-kr.edu.pl/ftp/softlib/full.html
http://ftp.back2roots.org/back2roots/cds/faces_of_mars/amiga_demo_collection/t/?C=N;O=D
http://ftp.back2roots.org/back2roots/cds/faces_of_mars/amiga_demo_collection/t/?C=S;O=D
http://www.scribd.com/doc/18123121/Windows-XP-Commands
http://www.scribd.com/doc/3135804/Cac-lenh-trong-RUN
http://dl2.ezthemes.com/files/g/filesubmitdl2/s/
0077名無し~3.EXE
2009/08/13(木) 10:44:15ID:IWh15qa6http://bt.deathcorp.com/1_tools/?C=M;O=A
http://cd.textfiles.com/hof91/GAME4/?N=D
http://dl2.ezthemes.com/files/g/filesubmitdl2/s/
http://hamilton.nzwireless.org/1_tools/?C=N;O=D
http://roundcube.bt.net.nz/1_tools/
http://roundcube.bt.net.nz/1_tools/?C=S;O=D
http://www.cyf-kr.edu.pl/ftp/softlib/full.html
http://www.launchpivot.com/vista_command_line_tools.html
http://www.scribd.com/doc/3135804/Cac-lenh-trong-RUN
http://www.siskiyoutech.com/support/utils/fastpush/utils/?C=N;O=D
http://www.vsm.com.au/ftp/
0078名無し~3.EXE
2009/08/13(木) 17:48:46ID:5/7LSkLbtimeout 60
NTBACKUP BACKUP "@f:\backups\nightly backup.bks" /p "4mm DDS" /J "Nightly Backup" /l:s /m normal /HC:ON /UM /V:NO
0079名無し~3.EXE
2009/08/13(木) 17:49:38ID:5/7LSkLbsecedit /refreshpolicy user_policy /enforce
0080名無し~3.EXE
2009/08/18(火) 11:08:19ID:a5HtPaWvhttp://it.kndb.jp/entry/show/id/810
Tips for windows operations
http://www.naruto-u.ac.jp/~ito/tips/windows/win-tips.htm
0081名無し~3.EXE
2009/08/26(水) 00:06:27ID:5EG0if/A二つのテキストファイル(111.txt、222.txt)の文字列を比較したいのです。
111.txt
-------
KB0001
KB0002
KB0003
KB0005
-------
222.txt
-------
KB0002
KB0006
--------
比較した結果は、KB0002のみが抽出されるようにしたいのです。
222.txtの内容を変数にSETして
FORでFCをまわしてやればいいのかとは思うですが・・・
すみませんがどうすればいいかアドバイスいただけませんでしょうか?
テキストファイルの内容を変数にSETする方法だけでもお教え願えませんでしょうか??
0082名無し~3.EXE
2009/08/26(水) 00:30:30ID:M28xOSr40083名無し~3.EXE
2009/08/26(水) 01:56:19ID:5PJ1j7rDsetlocal enabledelayedexpansion
for /f %%i in ('"type 111.txt 222.txt|sort"' ) do (
if "!x!"=="%%i" echo %%i
set x=%%i
)
0084名無し~3.EXE
2009/08/26(水) 15:35:12ID:XFFvDMy/「comm」というUnixコマンド
$ comm -12 111.txt 222.txt
KB0002
…と思って探したらDOS版は意外に見あたらないな。
まぁ、Cコンパイラを持ってれば移植は簡単だが。
0085名無し~3.EXE
2009/08/26(水) 20:46:36ID:5PJ1j7rD0086名無し~3.EXE
2009/08/27(木) 17:58:35ID:KS6gWKyN0087名無し~3.EXE
2009/08/27(木) 22:17:50ID:nZe2TznMファイルが見つかりません
標準エラー出力を消すのってこれじゃ駄目なの?
うまく消えてくれない…
0088名無し~3.EXE
2009/08/27(木) 22:33:19ID:KwULvt6tでいいんじゃね
0090名無し~3.EXE
2009/08/28(金) 13:06:56ID:QQt+uO290092名無し~3.EXE
2009/08/28(金) 15:20:28ID:QQt+uO29にどういう意味があるのか言ってみろよ
言えないだろ
0093名無し~3.EXE
2009/08/28(金) 17:38:19ID:snvKbO6j0094名無し~3.EXE
2009/08/28(金) 19:10:59ID:kstOdKCTだれかメカニズムを教えてくれ…
0096名無し~3.EXE
2009/08/28(金) 19:16:39ID:QQt+uO290097名無し~3.EXE
2009/08/28(金) 19:27:18ID:QQt+uO29標準エラー出力を消すのは>>88でよいけれど、
ファイルが見つかりません
てーのは標準出力なので、これを消すには
dir /b sss >NUL
ってなるけど、これじゃ意味ねー
if exist sss dir /b sss
みたいにやり方かえたほうがいいんじゃね?
0099名無し~3.EXE
2009/08/28(金) 19:52:29ID:kstOdKCTもっと根本的?なところで>>87がダメな理由がわかんね。
標準出力と標準エラー出力の両方消したいときに同じような事やってしまいそうだが。
素直に 2>nul 1>nul でも俺的にはokなんだけど。
0100名無し~3.EXE
2009/08/28(金) 19:55:55ID:Cn4Wds8nhttp://www.ksky.ne.jp/~sakae/daily/1997-0519.html
0101名無し~3.EXE
2009/08/28(金) 20:25:58ID:QQt+uO29初期状態1と2はコンソール
2>&1 1を2にコピー 結果、1と2はコンソール
>NUL NULをオープンして1に設定 結果、1はNUL、2はコンソール
dir /b sss >NUL 2>&1
初期状態1と2はコンソール
>NUL NULをオープンして1に設定 結果、1はNUL、2はコンソール
2>&1 1を2にコピー 結果、1と2はNUL
0102名無し~3.EXE
2009/08/28(金) 20:50:01ID:kstOdKCT>>87がダメな理由はわかったような気がするが、今度はなぜ
> dir /b sss >NUL 2>&1
に意味がないのかわからなくなったぞ。
0103名無し~3.EXE
2009/08/28(金) 21:44:03ID:QQt+uO29dir /bする意味があるのか?
0104名無し~3.EXE
2009/08/28(金) 23:01:24ID:kstOdKCT実際に使うコマンドは違っててリダイレクトの例としてdirを使ってるだけだと。
エラーだけ消したいなら最初から>>88にするのが普通だと思うし。
0105名無し~3.EXE
2009/08/29(土) 01:59:19ID:sLXCWAjJエラー出力もNULにリダイレクトする、ってのはよくやるな
0106名無しさん@そうだ選挙に行こう
2009/08/30(日) 14:51:06ID:x6Ys1KxG0107名無し~3.EXE
2009/09/02(水) 01:14:48ID:yaL1/tKBこれ入れたの忘れてたな
commが通るわけだ
0108名無し~3.EXE
2009/09/02(水) 07:44:24ID:AhwPM1Q70109名無し~3.EXE
2009/09/04(金) 17:23:17ID:cDaJOLt/http://www.csie.ntu.edu.tw/~piaip/tools/unxutils/
Index of /usr/local/wbin
http://ww-iii.clearancegs.net/usr/local/wbin/
[chrome] Index of /branches/official/build_149.23/src/third_party/gnu/files
http://src.chromium.org/viewvc/chrome/branches/official/build_149.23/src/third_party/gnu/files/?pathrev=3803
comm.exe 一応同じ結果は吐く様だ
0110名無し~3.EXE
2009/09/04(金) 17:28:47ID:cDaJOLt/>>84
Index of /crash/software/hpux/dos/unix_utils/uxutl23
http://www.macalester.edu/crash/software/hpux/dos/unix_utils/uxutl23/
DOS版(?)
0111名無し~3.EXE
2009/09/04(金) 21:43:34ID:HWA0i7q+http://www.lordgoogle.com/downloads/robocopy/
Index of /download/Robocopy
http://valentin-jensen.org/download/Robocopy/
0112名無し~3.EXE
2009/09/08(火) 02:39:36ID:MMsFgnf10113名無し~3.EXE
2009/09/08(火) 19:38:42ID:KSBFwEbc0115名無し~3.EXE
2009/09/12(土) 20:25:36ID:5/iIMDkSのようなコードでディレクトリも移動してくれるやり方教えてください。
moveだとファイルだけ移動になってしまいます。
0116名無し~3.EXE
2009/09/13(日) 00:50:36ID:GSibjpcz0117名無し~3.EXE
2009/09/16(水) 09:41:51ID:hoEOBMLOc:\foo\bar\hoge\hage
上で実行すると
hage
を返す
0118名無し~3.EXE
2009/09/16(水) 11:39:46ID:Md0yTjnn0119名無し~3.EXE
2009/09/16(水) 12:51:50ID:O8adoxSh0120名無し~3.EXE
2009/09/17(木) 09:04:22ID:Fa/jQWSlhttp://sourceforge.jp/magazine/07/11/19/0147208/2
カレントディレクトリ名を取得する4つの方法 - SourceForge.JP Magazine
http://sourceforge.jp/magazine/07/11/19/0147208
Helix Melody:カレントディレクトリのディレクトリ名を取得 - livedoor Blog(ブログ)
http://blog.livedoor.jp/hijacker777/archives/1114545.html
0121名無し~3.EXE
2009/09/17(木) 09:47:58ID:IglDsg0r0122名無し~3.EXE
2009/09/17(木) 09:56:52ID:IglDsg0rhttp://rally.jp/comp/archives/2009/08/windowsunix.php
インストール: NT版UNIX-like tools 0.14 - Computer
http://rally.jp/comp/archives/2009/08/_ntunixlike_tools_014.php
0123名無し~3.EXE
2009/09/17(木) 13:56:26ID:nFNv/FXO0124名無し~3.EXE
2009/09/17(木) 14:00:38ID:nFNv/FXO0125名無し~3.EXE
2009/09/17(木) 14:26:06ID:XYbO697w0126名無し~3.EXE
2009/09/17(木) 16:57:31ID:SfXagdtyT:\JKY\PC等>echo T:\JKY\PC等
T:\JKY\PC等>FOR /f %A IN ('echo %cd%') DO echo %A
T:\JKY\PC等>echo T:\JKY\P
下の書き方だと先頭一文字しか取得できないんだよな
0127名無し~3.EXE
2009/09/17(木) 18:55:42ID:+VEhY7Lp0128名無し~3.EXE
2009/09/19(土) 02:11:40ID:JMO0vA730129名無し~3.EXE
2009/09/24(木) 17:26:20ID:v23KGSU/0130名無し~3.EXE
2009/09/25(金) 16:13:40ID:MVXvOquXログファイルを出力するといったことをしようと思ったのですが、findによる出力は
該当する検索結果が無くとも改行とファイルへのパスの二行が強制的に表示されるので、単純に
FIND "検索文字列" ファイルパス>>hoge.log
ではうまくいきませんでした。XP標準のコマンドだけで実現する方法ありますか?
0133名無し~3.EXE
2009/09/25(金) 19:05:46ID:rKkYwStT0134名無し~3.EXE
2009/09/28(月) 21:51:40ID:npGXueZvクリップボードに有効なデータがない場合環境変数は空になります(削除されます)。
環境変数の代わりに/Fまたは/Bオプションを指定してファイルにクリップボードの
内容を受け取ることもできます。
/F を指定時はテキストファイル、/B を指定時はビットマップファイルの指定になります。
クリップボードの内容を受け取れなかった場合、ファイルは元の状態のままになります。
/F を指定時にファイル名の先頭を '+' にすると指定のファイルに追加します。
0135名無し~3.EXE
2009/09/29(火) 01:18:09ID:U8qAWnad標準入力またはテキストファイルの既出行の出力を抑止しながら標準出力するコマンドラインツール
comdel command フリーソフト(無料ソフト)&シェアウェア - goo ダウンロード
http://download.goo.ne.jp/software/contents/soft/winnt/util/se347533.html
0136名無し~3.EXE
2009/09/29(火) 19:34:02ID:eJMIO/Hthttp://rd.vector.co.jp/soft/win95/util/se122707.html
最強クリップボード拡張ソフトはこれだ!@OURS-2ch過去ログ倉庫
http://2ch.ac.la/read.php/win/1006803665/l100
0137名無し~3.EXE
2009/09/29(火) 20:59:26ID:eJMIO/Ht0138名無し~3.EXE
2009/09/30(水) 04:21:04ID:VE3quA4ghttp://www.tsg.ne.jp/GANA/S/cliputil/index.html
spawn
http://www.longtail.co.jp/pck/main/spawn.htm
Longtail: PCK
http://www.longtail.co.jp/pck/
0139名無し~3.EXE
2009/10/04(日) 14:42:46ID:11/jS/g30140名無し~3.EXE
2009/10/05(月) 03:46:16ID:XbaU7t3J0141名無し~3.EXE
2009/10/05(月) 05:08:26ID:K8SsroZU0142名無し~3.EXE
2009/10/05(月) 09:48:02ID:GyCNc+hD0143名無し~3.EXE
2009/10/05(月) 15:24:55ID:wWgyyEfrhttp://it-is-it.net/CMD/%A5%B3%A5%DE%A5%F3%A5%C9%CA%CC/for/#yb6719d7
機能別/日時を得る - CMD.EXE TIPs
http://it-is-it.net/CMD/%B5%A1%C7%BD%CA%CC/%C6%FC%BB%FE%A4%F2%C6%C0%A4%EB/
[NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない (DOSプロンプト活用相談室LOG)
http://www.fpcu.jp/dosvcmd/bbs/log/cat3/set_path/3-0350.html
0144名無し~3.EXE
2009/10/05(月) 18:04:50ID:hOdwv/2r0145名無し~3.EXE
2009/10/05(月) 19:24:49ID:u43Omwc0> [NT系]文字列の切り出しにFOR /F "delims="を使ってみたがうまくいかない (DOSプロンプト活用相談室LOG)
waybackにあったんで見たが、
"delims=abcde" でabcdeの文字列で切れると勘違いしたパターン。話になんね。
0146名無し~3.EXE
2009/10/06(火) 18:11:02ID:JNQhXxcC0147名無し~3.EXE
2009/10/07(水) 02:17:31ID:/ml1tCffhttp://love6.2ch.net/test/read.cgi/out/1253460974/106
106 名前:底名無し沼さん[sage] 投稿日:2009/10/07(水) 00:22:13
NewsVoter: Windows WIN32 fsutil.exe
http://www.newsvoter.com/Binary/dll/fsutil-exe-imports-exports-dependents.html
http://www.tbsradio.jp/kirakira/photo/CIMG2412.JPG
ニュースステーションのころからこんなもんです
http://homepage1.nifty.com/yukarino/mari/koudou/mari2.html
参照
http://www29.atwiki.jp/lovepluswiki/pages/41.html
Index of /~piaip/tools/unxutils
http://www.csie.ntu.edu.tw/~piaip/tools/unxutils/
Index of /archives/pc/forest/d/dotfighters
http://ring.nict.go.jp/archives/pc/forest/d/dotfighters/
http://www.uty.co.jp/anaroom/maya.htm
花王「エコナ」特保取り消しも 消費者庁政務官
http://www.47news.jp/CN/200910/CN2009100601000797.html
Index of /SymServe/fsutil.exe/3B7D836E10000
http://www.alexander.com/SymServe/fsutil.exe/3B7D836E10000/
【特集】コマンドで操るWindows XP - CUIのアドバンテージを堪能しよう (8) コマンドラインツールでWindows XPをメンテナンス(3) 「fsutil」を使いこなす | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/special/2002/xpcommand/007.html
0148名無し~3.EXE
2009/10/10(土) 01:20:45ID:dCE7LTzzhttp://www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx
Windows Script Programming: Windows 2000 Support Toolsのtlist.exeとkill.exeのダウンロード元
http://scripting.cocolog-nifty.com/blog/2007/12/windows_2000_su_4d62.html
Vector:ダウンロード Windows > ユーティリティ > タスク制御
http://www.vector.co.jp/vpack/filearea/win/util/task/by_date.html
0149名無し~3.EXE
2009/10/12(月) 02:21:05ID:yYYO39+FMicrosoft (R) Windows NT (TM) Version 5.1 TLIST
Copyright (c) Microsoft Corporation. All rights reserved.
usage: TLIST <<-m <pattern>> | <-t> | <pid> | <pattern> | <-p <processname>>> | <-k> |
<-s>
[options]:
-t
Print Task Tree
<pid>
List module information for this task.
<pattern>
The pattern can be a complete task
name or a regular expression pattern
to use as a match. Tlist matches the
supplied pattern against the task names
and the window titles.
-c
Show command lines for each process
-e
Show session IDs for each process
-g
Show group affinity for each process (Win7+)
0150名無し~3.EXE
2009/10/13(火) 22:32:33ID:cfc1h0wS2128 wordpad.exe ドキュメント - ワードパッド
errorlevel=0
D:\homo>TLIST|DKERRLVL FINDSTR ワードパッド
errorlevel=1
D:\homo>cgrep p:// *.htm*|sed -f c:\bin\uty\urle.sed|sort|uniq|tee _|tclip
0151名無し~3.EXE
2009/10/16(金) 20:28:30ID:J+lhIHtahttp://homepage1.nifty.com/jak/batch/time.html#3
timeitコマンドでアプリケーションの実行時間を測定する − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/422timecmd/timecmd.html
バッチ・ファイル中で日付をファイル名に使用する − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html
MASATOの開発日記: WindowsのBATファイルで日付と時刻を扱う方法
http://www.sutosoft.com/room/archives/000368.html
MS-DOSコマンドプロンプトTips - Programming/Tips - 総武ソフトウェア推進所
http://smdn.invisiblefulmoon.net/programming/tips/msdos_cmd_tips/
コマンドプロンプトで実行したexeの戻り値の取得 - 質問・相談ならMSN相談箱
http://questionbox.jp.msn.com/qa1569659.html
Oracle Technology Network (OTN) Japan - 掲示板 : コマンドプロンプトでSQLローダー実行 ...
http://otn.oracle.co.jp/forum/thread.jspa?threadID=35000597&tstart=45
現在時刻を取得してファイル名にする - 教えて!goo
http://oshiete1.goo.ne.jp/qa613130.html
南アラバ公国: コマンドプロンプト
http://margrave.seesaa.net/category/5158432-1.html
0152名無し~3.EXE
2009/10/18(日) 01:03:58ID:DCwe79NkC# for ObjectARX2005 http://yayoi3gatsu.sakura.ne.jp/rd.cgi?f=arx_cs01
Console倶楽部 - Windowsでもコンソールを使おう http://console.fc2web.com/
DOSコマンドでファイルのショートカットを作る方法 -OKWave http://okwave.jp/qa1958725.html
LBE 開発日誌 http://www.lambdapage.org/lbe/diary02.html
MSBuildを活用して開発時の作業を自動化する(2/3):CodeZine http://codezine.jp/article/detail/674?p=2
N.Yamazaki's blog | AquesTalk http://blog-yama.a-quest.com/?cid=18986&page=1
NTseverを活用しよう http://www.johoka.net/ntserver.htm
PICプログラマに求められる機能とは:52回の週末 http://quickturn.livedoor.biz/archives/50872956.html
TextPad: C#を始める http://japan.textpad.com/support/faq/csharp.html
Trend Micro ダメージクリーンアップ サービスとの CSC SSM の使用 http://www.cisco.com/japanese/warp/public/3/jp/service/manual_j/sec/asa/ssmag2/appendixC/13472_03_appendixc.pdf
UNIXのLNのようにショートカットを作成するコマンドは? (DOS ... http://www.fpcu.jp/dosvcmd/bbs/log/unixdoswindows/1-0513.html
0153名無し~3.EXE
2009/10/19(月) 01:24:53ID:djEqEQDGWeb ChangeLog: MSH: Using MshSnapIn http://oka326.blogspot.com/2006/01/msh-using-mshsnapin.html
Windows - BlueSkyNet http://blueskynet.if.land.to/wiki.cgi?page=Windows
Windows Form GUIアプリケーションを記述するための最新の ... http://ascii.asciimw.jp/pb/msdn/article/a12_0014.html
Windows Media Player コンポーネント覚え書き(1) http://www11.ocn.ne.jp/~ikalu/fc2page/fc2wmp001.html
Windows Script Programming: コマンドラインでショートカットを作成する。 http://scripting.cocolog-nifty.com/blog/2007/02/post_3fde.html
YouTube http://www.youtube.com/results?hl=ja&lr=lang_ja&num=30&q=CSC%E3%81%AF%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89&um=1&ie=UTF-8&sa=N&tab=w1&gl=JP
「.NET Framework SDK」を含むブログ - はてなキーワード http://k.hatena.ne.jp/keywordblog/.NET%20Framework%20SDK
@IT:.NET実践プログラミング .NETでカスタム・プラグインを開発 ... http://www.atmarkit.co.jp/fdotnet/practprog/01deskbar/deskbar_03.html
きたかぜさんち http://crow.whitesnow.jp/tips/tips_02.html
まどこまんど http://toll.hp.infoseek.co.jp/sof/wcom.htm
エクセルVBAでテキストファイル(バッチファイルの作成) - 教えて!goo http://oshiete1.goo.ne.jp/qa2388033.html
エクセルVBAでテキストファイル(バッチファイルの作成) - 質問・相談 ... http://questionbox.jp.msn.com/qa2388033.html
コマンド プロンプトを開く - uguuの日記 http://d.hatena.ne.jp/uguu/20061031/1162271962
コマンド ラインの指定 http://msdn.microsoft.com/ja-jp/library/78f4aasd(VS.80).aspx
チュートリアル : 起動可能な Windows PE RAM ディスクを UFD に作成する http://technet.microsoft.com/ja-jp/library/cc766092(WS.10).aspx
プログラムの作成・実行(C# によるプログラミング入門) http://ufcpp.jp/study/csharp/st_compile.html
0154名無し~3.EXE
2009/10/20(火) 10:19:18ID:4ZVv/YYHtp://www.z4x.com/tools/PsTools.zip
0155名無し~3.EXE
2009/10/20(火) 22:58:07ID:wbDO97X20156名無し~3.EXE
2009/11/14(土) 22:58:43ID:uA6JTFnR0157名無し~3.EXE
2009/11/14(土) 23:06:34ID:uA6JTFnR0158名無し~3.EXE
2009/11/18(水) 02:27:53ID:97JQYixr0159名無し~3.EXE
2009/11/18(水) 02:35:37ID:frEMkiOAcmdへのショートカットを作る
右クリック プロパティで作業フォルダのところに
好きなパスを書け
0160名無し~3.EXE
2009/11/18(水) 22:13:17ID:tZlNWGJP0161名無し~3.EXE
2009/11/18(水) 23:01:56ID:frEMkiOAWindows PowerShellが出来てwindows7のコマンドラインがほとんど変わってない所を見ると
もう放棄されたといっても過言じゃない状況だからだと思う
こっちは単発の質疑応答のみでいいんじゃないの。
0162名無し~3.EXE
2009/11/19(木) 15:21:14ID:7DXVCfhu0163名無し~3.EXE
2009/11/21(土) 00:42:40ID:ODpYiLXj0164名無し~3.EXE
2009/11/21(土) 14:27:53ID:wxl80pPxぐぐればそこらに転がってるからわざわざ聞くまでもないし
0165名無し~3.EXE
2009/11/22(日) 15:06:58ID:+yxwUHDqPATH=�@;%PATH%
SET LIBRARY_PATH=�A
↑これにはどんな意味があるのでしょうか?
バッチコマンドなど調べたのですが結局分からず
0166名無し~3.EXE
2009/11/22(日) 16:22:52ID:W+j5c9sh0167名無し~3.EXE
2009/11/22(日) 16:54:22ID:ra6Q8ywR1行目 「OLDPATH」と名づけた変数に現在の環境変数の値を入力する
2行目 現在の環境変数に�@という値(新たなパス)と既存の環境変数の値を入力する
→要するに既存の環境変数に�@という新たなパスを追加してる
3行目 「LIBRARY_PATH」と名づけた変数に�Aという値を入力する
この3行の中では�@、�Aの値が出てきていないし
「OLDPATH」 「LIBRARY_PATH」といった変数も値をセットするだけで何も使っていない
何がやりたいのかは前後関係を知らないとわからんよ
0168名無し~3.EXE
2009/11/22(日) 16:55:47ID:ySE6LLmgコンピューターの言語だろうか位しか分からんwww
0169名無し~3.EXE
2009/11/22(日) 16:56:29ID:ySE6LLmg0170名無し~3.EXE
2009/11/22(日) 20:17:25ID:s+B81oCe=はファイル名としても使えるのにここではコマンドセパレーターとして働いている
その混沌っぷりがさらに話題を広げるのであった。
0171名無し~3.EXE
2009/11/22(日) 20:28:10ID:+yxwUHDqありがとうございました
とあるバッチファイルの中身です
これを実行する事で、そのウインドウでのみ�@にあるものを使えるようになるのですが
環境変数を書き変えて、その手間を省けないのかなと思い、質問しました
0172名無し~3.EXE
2009/11/22(日) 22:04:49ID:mndxsipb0173名無し~3.EXE
2009/11/22(日) 22:05:43ID:mndxsipbライオンさん一言どうぞ
↓
0174名無し~3.EXE
2009/11/22(日) 22:53:45ID:se2vb0Wd0175名無し~3.EXE
2009/11/23(月) 19:23:48ID:s/idSSMbcmd /c chcp 437&dir <可能な限り1行で起動したい
とかやってもdirが実行されるコードページが変更されていません
コマンドプロンプトからの場合はコードページ変更が行われるようですが
「ファイル名を指定して実行」から実行した場合(CreateProcessによる起動?)に
コードページの変更が行われないようです
コマンドプロンプトからの実行でなくてもコードページを変更して実行する方法が
あったら教えてください
よろしくお願いします
0176名無し~3.EXE
2009/11/24(火) 15:32:18ID:F4p8x8VG0177名無し~3.EXE
2009/11/24(火) 22:20:33ID:F4p8x8VG0178名無し~3.EXE
2009/11/24(火) 23:10:13ID:USGr7+m90179名無し~3.EXE
2009/11/25(水) 01:18:05ID:YdDbxgd20180名無し~3.EXE
2009/11/28(土) 20:49:03ID:fHqQVsd/ここで知ったか振るという手もあるけどw
コマンドラインごみ箱ツール「GB」1.0.1
0181名無し~3.EXE
2009/12/02(水) 09:52:53ID:RwfNPXz0レジストリ設定ファイルを作るバッチで小技が効いてる。
ブラウザで開く代わりにインターネットショートカットを作成するというものなんだけど。
出来立てほやほや置いときますね
-- MakeDefaultBrowserSetReg.bat --
rem host\MakeInternetShortcut.batをデフォルトのブラウザに設定するレジストリファイルを作成します。
rem パス名の\を\\に置換
set VMWInterAppPath=%~dp0host\MakeInternetShortcut.bat
set VMWInterAppPath=%VMWInterAppPath:\=\\%
rem レジストリファイル
echo Windows Registry Editor Version 5.00 > SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\ftp\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\HTTP\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg
echo. >> SetDefaultB.reg
echo [HKEY_CLASSES_ROOT\https\shell\open\command] >> SetDefaultB.reg
echo @="\"%VMWInterAppPath%\" \"%%1\"" >> SetDefaultB.reg
set VMWInterAppPath=
-- host\MakeInternetShortcut.bat --
rem ショートカットの作成
echo [DEFAULT] > ..\OpenURL.lnk
echo BASEURL=%1 >> ..\OpenURL.lnk
echo [InternetShortcut] >> ..\OpenURL.lnk
echo URL=%1 >> ..\OpenURL.lnk
0182名無し~3.EXE
2009/12/02(水) 12:29:50ID:6qx8dZPq0183名無し~3.EXE
2009/12/02(水) 12:46:35ID:RwfNPXz0URLでした。
あと、カレントディレクトリをファイルのあるディレクトリを基準に考えてましたが間違っていました。
ファイルパスにはすべて%~dp0をつけて「%~dp0..\Open.url」とかにしないと駄目でした。
普通の実行ファイルだとたいてい実行ファイルのある場所がカレントディレクトリになってるからそのつもりで作っちゃった。
テストで実行するときはエクスプローラーで実行したけど、そんときはその場所がカレントになるから気がつかなかった。
0184名無し~3.EXE
2009/12/03(木) 23:27:07ID:PE65EMUZToolsがインストールされたパスをレジストリから取得し、環境変数に入れたかったんだけど、無理なのかな。
FINDの結果を一旦ファイルに出力して set /p path=<ファイル名 で実現はできたんだけど、
最初に書いたコマンドの結果は set VMW-IPTEMP=InstallPath となり、スペースで区切られたところまでしか取得できない。
確か標準入力は開業もスペース区切りも同一に扱われた気がするけど・・そのせいかな?
0185名無し~3.EXE
2009/12/03(木) 23:35:43ID:8MhzhBSk0186名無し~3.EXE
2009/12/04(金) 00:26:11ID:/KEnbVNiありがとう。1行取れました。
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools" /v InstallPath | for /f "delims=" %%P in ('find "InstallPath"') do echo %%P
でも、echo %%P はうまくいくけど、 set VMW_IPTEMP="%%P" でやっても、環境変数には代入されませんでした。
コマンドラインでもバッチファイルでも同じでした。
一応コマンドは実行されるんだけど。
他にこんなのも試したんですが、だめでした。
find "InstallPath" | set /p VMW_IPTEMP=
find "InstallPath" | set /p VMW_IPTEMP=<con
0187名無し~3.EXE
2009/12/04(金) 01:49:26ID:d9wXhpuDfor /f %%P in ('echo AAA') do set XXX=%%P
echo %XXX%
echo BBB | for /f %%P in ('echo AAA') do set XXX=%%P
echo %XXX%
echo BBB|for /f %%P in ('echo AAA') do set XXX=%%P & call echo %%XXX%%
0188名無し~3.EXE
2009/12/04(金) 13:39:21ID:d9wXhpuDecho %XXX%
echo BBB | (set XXX=AAA
call echo %%XXX%%
)
0189名無し~3.EXE
2009/12/04(金) 15:14:22ID:/KEnbVNiパイプ使った先で環境変数に入れるなら、そこで処理してしまわないと駄目なんですね。
結局ファイルを経由して set /p オプションでリダイレクトするのが正しかったか。
0190名無し~3.EXE
2009/12/04(金) 15:50:40ID:d9wXhpuDecho %VMW-IPTEMP%
0192名無し~3.EXE
2009/12/04(金) 18:37:12ID:d9wXhpuDcall echo %%XXX%%
)
0193名無し~3.EXE
2009/12/07(月) 14:04:39ID:Cyo0Qdc6http://d.hatena.ne.jp/m-hiyama/20081211/1228976433
0195名無し~3.EXE
2010/01/03(日) 09:23:06ID:yQMN8uyYIEで、インターネット一時ファイル"のみ"を削除するには、
どのようなコマンドを打ったらよいのでしょうか?
rd /s "tempor~1" だと、クッキーやフォームなども一緒に削除されてしまいます
0196名無し~3.EXE
2010/01/03(日) 13:55:05ID:xnZ8ujnt0198名無し~3.EXE
2010/01/03(日) 15:49:26ID:yQMN8uyYおお、できましたサンクスです
ただ、cのクリーンアップのチェックは全て外し、
cleanmgr /d z: /sageset:1
でセットしておいても、
cleanmgr /d z: /sagerun:1
をbatにして実行すると、目的のzドライブだけではなく、cドライブも毎回空きを計算してしまいます。。
いい方法ありますか?
0199名無し~3.EXE
2010/01/08(金) 15:13:18ID:wdm81tzo0200名無し~3.EXE
2010/01/11(月) 12:56:50ID:g2GiCuw7http://www.csie.ntu.edu.tw/~piaip/tools/unxutils/
0202名無し~3.EXE
2010/01/26(火) 12:40:48ID:Aw94STdP0203名無し~3.EXE
2010/01/26(火) 13:56:10ID:QnBbXJza0204名無し~3.EXE
2010/01/26(火) 14:25:18ID:ZPqGt4/ydo set desktop=%%C
って所かな。
0205名無し~3.EXE
2010/01/26(火) 18:53:17ID:9uq8tqJG↓で始まる行を直前の行と繋げたいのですが、どうしたら良いでしょうか?
,0,LAN -
sed-1.18+mb1.03で色々試しているのですが、うまくいきません。
キーワードがあった行と次の行をつなげることは出来たのですが・・・。
よろしくお願いします。
0206名無し~3.EXE
2010/01/26(火) 20:05:57ID:UyCrvOTu0208名無し~3.EXE
2010/01/27(水) 12:29:11ID:aPOmdlODhttp://www.lifehacker.jp/2009/09/090904firefoxfiremaster.html?
↑このソフトを使いたいのですがステップ3まで行き
http://securityxploded.com/firemaster.php?
↑の配布ページを参考に、サンプルコマンドをコピーして
FireMaster.exe -d -f c:\dictfile.txt Firefox_Profile_Path
などを打ち込んだりするのですが、エラーが出て先に進めません。
C:\User\****\Links\FireMaster_bin>FireMaster.exe -d -f c:\dictfile.txt Firefox_Profile_Path
↑このコマンドの打ち方に間違いはないでしょうか?
0209名無し~3.EXE
2010/01/27(水) 14:40:18ID:nXBbHpe6http://oshiete1.goo.ne.jp/qa3085426.html
0210名無し~3.EXE
2010/01/27(水) 17:09:55ID:nXBbHpe6/.*$/N
s/\n//
C:\bin>type log.txt
A
,0,LAN -
B
,0,LAN -
C
,0,LAN -
C:\bin>sed -f t.sed log.txt
A,0,LAN -
B,0,LAN -
C,0,LAN -
適当に書いてみた
0211名無し~3.EXE
2010/01/27(水) 19:05:35ID:YbV7ZS5I0212名無し~3.EXE
2010/01/27(水) 21:17:47ID:RwVGimomhttp://pc11.2ch.net/test/read.cgi/linux/1067815570/
sed
http://pc12.2ch.net/test/read.cgi/unix/1085730992/
0213名無し~3.EXE
2010/02/04(木) 03:04:07ID:bMU9o4Cjif %sec% lss 14 set m=14&&goto st
if %sec% lss 29 set m=29&&goto st
if %sec% lss 44 set m=44&&goto st
if %sec% lss 59 set m=59&&goto st
:st
0214名無し~3.EXE
2010/02/04(木) 20:16:27ID:1NhVEJJl0215名無し~3.EXE
2010/02/05(金) 10:42:44ID:mIxXapaZCopyright (C) Microsoft Corp. 1981-2001. All rights reserved
regコマンドは2000じゃ使えないんか...
0216名無し~3.EXE
2010/02/05(金) 12:58:42ID:FDIFTu0B0217名無し~3.EXE
2010/02/06(土) 11:42:38ID:uEMTgQVRNT4の頃はResource Kit Toolsで提供されてた。(忘れたけどSupplement 3か4か以降)
Windows 2000ではSupport Toolsに入ってた。
↓でダウンロードできるよ。
http://www.microsoft.com/downloads/details.aspx?FamilyID=f08d28f3-b835-4847-b810-bb6539362473&DisplayLang=en
ちなみに引数の文法が結構違ってるから要確認な。
0219名無し~3.EXE
2010/03/19(金) 19:45:23ID:j/kRmZ+3WindowsXPで、タスクの登録を管理者権限を持っている人間が行うとして、タスクをユーザーアカウントを見て実行させるか、どうかを判定したいと考えています。
・atコマンドで登録 →コマンドプロンプト上で実行
at 15:00 cmd /c if "Guest" equ ^"%USERNAME^%" ( echo hoge )
で実行するも、登録はされるのですが、
1、ダブルコーテーションがはずされてしまうという問題があります。
2、これを今度はバッチファイル上で実行しようとすると、ダブルコーテーションがはずされた上に、^"%USERNAME^%"の部分が^だけになってしまいます。
なにか、解決に向けてヒントなりをいただけないでしょうか、、、
0220名無し~3.EXE
2010/03/19(金) 20:28:55ID:BHu+ZFPB0221名無し~3.EXE
2010/03/20(土) 02:07:13ID:2svRwq1Hレスもらってから、うまくできなかったため、今も試行錯誤しています。
(cmd.exeをダブルコーテーションで囲むか、最初と最後のダブルコーテションをはずすとうまくいきました)
「ファイル名を指定して実行」
cmd.exe /v:on /c if \"Guest\" equ \"!USERNAME!\" ( echo hoge ) はうまく動作しました(ありがとうございます)。
しかし at 15:00 cmd.exe /v:on /c if \"Guest\" equ \"!USERNAME!\" ( echo hoge ) はうまく動作しません。
原因を探ったところ、 at 15:00 cmd.exe /v:on /c echo \"!USERNAME!\" ^> C:\test.txt で確認すると、実行結果は
"!USERNAME!\" がそのまま書き込まれていました。
上記をうまく解決するため、atに登録した時点で環境変数(?)を開くうまい方法などあれば、ご教授いただければと思います。
0222名無し~3.EXE
2010/03/20(土) 22:21:55ID:lyhs8zMC0223名無し~3.EXE
2010/03/21(日) 03:07:07ID:F1k/W7Mkat 15:00 cmd.exe /c echo \"%USERNAME%\" ^> C:\test.txt
自分の環境だと上記コマンドは at 数字 で確認すると、すでに登録した段階でユーザー名が展開されてしまいます。
(コントロールパネル→タスク at数字のプロパティで確認すると、タスクを登録した段階で環境変数が展開されております、、、)
at 15:00 cmd.exe /c echo \"%%USERNAME%%\" ^> C:\test.txt
などもいろいろためしてみたのですが、、、上記の場合は、C:\test.txtの中身が "%USERNAME%"になってしまいました、、、。(/v:on のあるなしに関わらず、、、)
なにか、良い方法があると、、、いいのですが、、、。
0224名無し~3.EXE
2010/03/21(日) 04:24:52ID:IG7xyVml0225名無し~3.EXE
2010/03/21(日) 04:29:42ID:83CPJkNx事前にbatを作っておいてそれを実行するんじゃダメなんですか?
[test.cmdの中身]
if "%USERNAME%" equ "Guest" echo "%USERNAME%" > C:\test.txt
で、at 15:00 c:\test.cmd
を実行とか。
ところで目的は何ですか?
15:00ぴったりに使用していないと、その実行は明日に持ち越しになっちゃいますが
それでも良いんですか?15:00以降に最初に使ったユーザーとかじゃなくて?
また一回こっきり実行でいいんですか?毎日とかじゃなくて?
もしユーザーの管理に使いたいなら、ログオンスクリプトとして登録しておいて
ユーザーのログオン時を捕まえるのが良いと思うんですが?
@echo off
if "%username%"=="xxx" (
挨拶メッセージを表示
コマンド1
コマンド2
) else if "%username%"=="yyy" (
コマンド3
) else if "%username%"=="zzz" (
コマンド4
)
0226名無し~3.EXE
2010/03/21(日) 15:20:12ID:IG7xyVml0227名無し~3.EXE
2010/03/22(月) 04:11:36ID:49Z3p/7o0228名無し~3.EXE
2010/03/22(月) 12:14:38ID:vRxWzlrp>>224 レスありがとうございます。
setの中身を確認して、ようやく自分がアホなことをやっていることがわかりました。
(素で実行したのと、atで実行したのを比較して、%USERNAME%を確認しました)
>>225 レスありがとうございます。
( >>225 の言うとおり)目的はある時間にAさんなら実行するけど、Bさんは実行しないスクリプトを組みたいと考えています。
at 15:00っていうのは特に意味はなく、質問するにしても可能な限りスクリプトを短くしたかったためです。
自分の環境では、教えていただいたbat処理は、ユーザーが "" になりましたので、違う手を考えてみます。
>>226 レスありがとうございます。
WindowsXP SP2 Support Tool入れてみて実験してみたいと思います。
>>227 レスありがとうございます。
システムアカウントが実行するということはなんとなく知っていたのですが、 >>224 のsetでようやく理解できました。
whoamiでログインユーザーがとれるかちょっと実験してみたいと思いますが、、、atコマンドで実行すれば、システムアカウントになるのを確認しようと思います。
0229名無し~3.EXE
2010/03/22(月) 21:28:49ID:49Z3p/7o0230名無し~3.EXE
2010/03/23(火) 00:57:02ID:aU5aUsH5元々atコマンドはNTの互換のために残されている過去の遺物なので。
0231名無し~3.EXE
2010/03/23(火) 02:59:35ID:eS66TQH10232名無し~3.EXE
2010/03/23(火) 20:19:25ID:lQF/ybn7>>229 レスありがとうございます。
atでログインユーザー名を確認できました。
ありがとうございます。
>>230 レスありがとうございます。
>>231 が言うように、パスワードが必要なため楽な方法を探しておりました、、、。
(結果的にみなさまの貴重なお時間を割いていただいておりますが、、、)
>>231 レスありがとうございます。
おっしゃるとおりです、、、orz
wmicからのパイプ処理?について現在勉強しております。
少し時間がかかるかもしれませんが、うまく行きましたら報告いたします。
0233名無し~3.EXE
2010/03/23(火) 23:57:08ID:lDYBG9RV%USERNAME%が条件に合った場合だけやりたい処理をする、
みたいな構成じゃダメなの?
0234名無し~3.EXE
2010/03/24(水) 00:45:12ID:U3N/7+3H0235名無し~3.EXE
2010/03/25(木) 03:27:06ID:09J8YNxF教えたのは失敗なんじゃないかな
0236名無し~3.EXE
2010/03/25(木) 17:54:32ID:16a0LSCJfor /F "usebackq skip=1" %%x in (`wmic computersystem get username`) do if /i "%%x" equ "%COMPUTERNAME%\%1" ( echo "hoge" )
>>223 レスありがとうございます
先に試しましたが、自分の環境ですとatで実行すると %USERNAME" にはなにも入っておりませんでした。
>>234 レスありがとうございます
すべてのレスをくれたかた、ご苦労さまでした。
>>235 レスありがとうございます
イタズラにも使えるでしょうし、有用なことにも使えるかと思います。
0237名無し~3.EXE
2010/03/26(金) 01:21:45ID:/JmVMDcjMS手抜くなよ
0238名無し~3.EXE
2010/03/26(金) 19:07:54ID:7vut8Xv70239名無し~3.EXE
2010/03/26(金) 20:41:17ID:n80jNEuMVER|FIND "Windows">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系?:不明)
VER|FIND "Windows 95">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:95)
VER|FIND "Windows 95. [Version 4.00.1111]">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:95_OSR2)
VER|FIND "Windows 98">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:98)
VER|FIND "Windows 98 [Version 4.10.2222]">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:98_SE)
VER|FIND "Windows Millennium">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(Win9x系:Me)
VER|FIND "Windows NT">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:NT)
VER|FIND "Windows NT Version 4.0">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:NT_4.0)
VER|FIND "Windows 2000">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:2000)
VER|FIND "Windows XP">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:XP)
VER|FIND "Windows [Version 5.2.">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:Server2003)
VER|FIND "Windows [Version 6.0.">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(WinNT系:Vista)
VER|FIND "MS-DOS">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS)
VER|FIND "MS-DOS バージョン 5.00">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS_5.0(EPSON製98互換機用で確認))
VER|FIND "MS-DOS Version 6.2">NUL
IF NOT ERRORLEVEL 1 SET UsrOS1=(非Win系:MS-DOS_6.2(EPSON製98互換機用で確認))
0240名無し~3.EXE
2010/03/27(土) 11:06:38ID:D6Ht2NWP煽りじゃなくてマジで疑問なんだが x64 と x86 の見分けは?
ついで言えば IA64 は?
0241名無し~3.EXE
2010/03/27(土) 13:00:23ID:EVIDvLoZwin7のタスク(windows/system32/tasks)を制御しようとしてますが、
jt /lj %systemroot%\system32\tasks\(タスク名) /sj SystemRequired = 1
[TRACE] Loading Job C:\Windows\system32\(タスク名)
[PERF ] Load took 0 ms
[FAIL ] IPersistFile::Load hr=0x80041313
となり、うまく制御できません。
根本的にやり方まちがってますかね?
0242名無し~3.EXE
2010/03/27(土) 15:00:49ID:4iD/8n0IタスクスケジューラはVistaで変わったからjtは使えないんじゃないか
なんでos標準のschtasksを使わないの?
0243名無し~3.EXE
2010/03/27(土) 16:10:46ID:EVIDvLoZありがとうございます。
いや、それがschtasksだと、そこまで(スリープからの復帰)制御出来ないんですよ。
0244名無し~3.EXE
2010/03/27(土) 16:27:12ID:4iD/8n0I0245名無し~3.EXE
2010/03/27(土) 16:37:47ID:4iD/8n0I0246名無し~3.EXE
2010/03/27(土) 18:03:50ID:EVIDvLoZ0249名無し~3.EXE
2010/04/11(日) 14:11:54ID:y90kcftT< > |
の3つだけでしょうか。
つまり、
ECHO ほにゃらら〜〜〜ふにゃらら
というように数十文字のテキストを表示するとして、
〜〜〜の中に入れてはいけない文字が知りたいのです。
0250名無し~3.EXE
2010/04/11(日) 14:31:00ID:6Yi1arZm0251名無し~3.EXE
2010/04/11(日) 15:58:54ID:y90kcftTヒントをいただいてかなり分かりました。
まとめると以下のようで正しいでしょうか?
■コマンドラインで通常の文字と扱われない特殊キャラクタ、およびエスケープ方法
◆MS-DOSプロンプト(全4種)
<
>
|
※以上の3種は " (ダブルクオート)で括られた状態なら通常の文字として扱われる
% → %%
◆コマンドプロンプト(全9種)
< → ^<
> → ^>
| → ^|
& → ^&
( → ^(
) → ^)
^ → ^^
※以上の7種は " (ダブルクオート)で括られた状態なら通常の文字として扱われる
% → %%
" → ""
0252名無し~3.EXE
2010/04/11(日) 16:00:36ID:mGw8jiZC%%
0253名無し~3.EXE
2010/04/11(日) 16:42:14ID:O2CSi6Ub(
0254名無し~3.EXE
2010/04/11(日) 16:48:23ID:y90kcftTなるほど、コマンドプロンプトでは%%でエスケープ、というのは
ウソ情報をつかんできてしまったようです。
ただし、DOSではこれで正しい。
すると…
%windir%と表示したい場合は、
COMMAND.COM
echo %%windir%%
CMD.EXE
echo ^%windir^%
ということですね。
あと、
" → ""
というのもエスケープされてるのかされてないのか分からないですね。
常識的にはエスケープされてるとは言えないと思いますので、除外します
この考え、正しいのかな??
他に何か見落としがありますでしょうか?
0255名無し~3.EXE
2010/04/11(日) 16:58:21ID:y90kcftTそもそも () の使い方が分からない…。
ECHOで単体なら大丈夫と言うことですね。
しかし、使用できない文字、エスケープすべき文字の確認が目的ですので、
これは前述の通り普通に ^( ^) で良いかと。
エスケープしなくても大丈夫なパターンを探してるわけじゃないんです。
0256名無し~3.EXE
2010/04/11(日) 16:58:30ID:O2CSi6Ubecho ^%windir^%
0257名無し~3.EXE
2010/04/11(日) 17:01:21ID:O2CSi6Ubecho " ^"
0258名無し~3.EXE
2010/04/11(日) 17:06:11ID:O2CSi6Ub0259名無し~3.EXE
2010/04/11(日) 17:10:26ID:y90kcftT>>258
う、難しい。勉強してみます。
>>257
ありがとうございます。
今ちょうど、
echo " | "
echo ^" | "
なんてやって確認してたとこでした。
結論は、
" → ^"
ですね!
0260名無し~3.EXE
2010/04/11(日) 18:11:16ID:y90kcftTこれは分かりません??
結果は%windir^%にaaaが入ってますよ、と。
先頭の ^ はどこへ消えたのか?
%のエスケープが^%でないとしたら、どういうルールなのでしょうか。
これは自分では答えを出せそうに無いです。
>>258
ややこしいですねぇ。
cmd/?|find "^"
とか、
set test=ファイル
cmd/?|find "%test%"
とかやってました。
シェルとコマンドの仕事の範囲が明確で無いから分かりにくいんですかね。
もしくはリテラルの定義が明確で無いからか。
自分が必要としているのはechoだけなんですが、
>>256の結果は影響がありそうです。
ぜひ解説していただけないでしょうか。
0261名無し~3.EXE
2010/04/11(日) 19:40:55ID:O2CSi6Ubecho %windir^%
0262名無し~3.EXE
2010/04/11(日) 19:42:41ID:O2CSi6Ub0263名無し~3.EXE
2010/04/11(日) 19:43:49ID:O2CSi6Ubset windir
0264名無し~3.EXE
2010/04/11(日) 20:00:38ID:O2CSi6Ub0265名無し~3.EXE
2010/04/11(日) 20:05:46ID:O2CSi6Ub0266名無し~3.EXE
2010/04/14(水) 19:28:19ID:Lfksvlek標準でインストールされているソフトウェアの影響を受けにくい方法を探しています
よろしくお願いします
0267名無し~3.EXE
2010/04/14(水) 19:55:11ID:zsXaS8Mw0268名無し~3.EXE
2010/04/14(水) 23:42:57ID:Nbmdm37Rftype
0269名無し~3.EXE
2010/04/16(金) 22:23:00ID:+WenbQ+F0270名無し~3.EXE
2010/04/16(金) 22:27:45ID:ATLdufCB0271名無し~3.EXE
2010/04/16(金) 23:22:09ID:IINeE4gJ0272名無し~3.EXE
2010/04/17(土) 00:17:11ID:iUltzkHe0273名無し~3.EXE
2010/04/20(火) 06:21:04ID:lAJ6JeLK"xxx".拡張子 というファイルをD&Dして、以下のようなテキストファイルを吐き出すバッチ作りたいのですが
↓テキストファイルの中身↓
video = MPEG2Source("xxx".d2v)
audio = WavSource("xxx".wav)
AudioDub(video, audio)
"xxx"の部分にD&Dしたファイルの名前だけを代入して吐き出させるようにするにはどうしたらよいでしょうか><
0274名無し~3.EXE
2010/04/20(火) 07:46:44ID:l+u3QXef0275名無し~3.EXE
2010/04/20(火) 14:04:59ID:xb1+R6Ig0276名無し~3.EXE
2010/04/21(水) 00:15:09ID:tjgMJh/A1) バッチパラメータとして、%0〜%9ってのがある
2) パラメータには修飾子が使える。 %~1, %~n1など
3) 表示コマンド echoで出力先を標準出力からファイルにリダイレクト > or >> できる
0277名無し~3.EXE
2010/04/21(水) 03:23:28ID:vhJZPvunなんとか作成することができました。
にありがとうございました〜
0278名無し~3.EXE
2010/04/21(水) 04:09:15ID:tjgMJh/A@if(0)==(0) echo off
if "%~1"=="" echo パラメタ1に入力ファイル名(変換元)を指定してください& goto :eof
if not exist "%~1" echo 指定ファイル"%~f1"が存在しません& goto :eof
cscript //nologo //e:jscript "%~f0" <"%~1" >output.txt
goto :eof
@end
WScript.Echo(WScript.StdIn.ReadAll().toLowerCase());
0280名無し~3.EXE
2010/04/22(木) 18:14:18ID:pj2f+ePbttp://otnx.jp/CMD/?%C1%B4%C8%CC%2F%B9%BD%CA%B8%B2%F2%C0%CF#sdbf768f
0281名無し~3.EXE
2010/04/22(木) 18:43:13ID:HvRXw+eF文字の置換
%cd% 中の「\」を「&set cdname=」で置換するとどうなるか
c:\aaa\bbb\ccc → c:&set cdname=aaa&set cdname=bbb&set cdname=ccc
即ち
c:
set cdname=aaa
set cdname=bbb
set cdname=ccc
個人的にはdos窓を沢山開いてる時の識別用に
%CD:\=&title % をよく使う
0282名無し~3.EXE
2010/04/22(木) 18:56:57ID:KT+yi7rA俺が混乱してた理由
&で一旦切れると思ってた。
そのまま置換されてさらに再度評価されるんだね。
0283名無し~3.EXE
2010/04/22(木) 22:52:39ID:pj2f+ePb0284名無し~3.EXE
2010/04/24(土) 22:30:32ID:oAoL4N0Lpowershell.exe ではどうすればいい?
0285名無し~3.EXE
2010/04/24(土) 22:39:33ID:OvOv+w/Sとかそんな感じ
0286名無し~3.EXE
2010/04/24(土) 22:46:57ID:oAoL4N0Lとりあえず
function title {$Host.UI.RawUI.WindowTitle = $args[0]}
としといた
0287名無し~3.EXE
2010/05/11(火) 22:24:59ID:vyuPZUfccmd.exe ではどうすればいい?
0288名無し~3.EXE
2010/05/11(火) 23:52:00ID:d+T9MEpE0289名無し~3.EXE
2010/05/12(水) 14:17:51ID:R0Dj2vpX0290名無し~3.EXE
2010/05/21(金) 22:11:25ID:AhJIB9Qh管理者のパスワードは手入力で。
devcon.exeを入れて↓のショートカットを作って実行してもうまくいきません。
%windir%\system32\runas.exe /user:USERNAME "c:\bin\devcon enable 'PCI\VEN_HOGEHOGE'"
runasのパスワード入力してもそのまま終了(エラーが出てるだろうけどすぐ消えちゃって確認できない)。
devcon enable "PCI\VEN_HOGEHOGE"とすべきところをダブルクォートの入れ子がダメだったのでシングルクォートを使ってみたのが原因だと思う。
どうすればいいの?
MakeMeAdmin.cmd(制限ユーザで一時的に管理者権限のコマンドプロンプトが起動できます)でdevcon enable "PCI\VEN_HOGEHOGE"としたら期待通りに変更できました。
なので"PCI\VEN_HOGEHOGE"のハードウエアIDが間違ってるとかではないと思う。
あと、ショートカットを実行後に(表示だけでも)一時停止みたいに出来ない?
バッチファイルのpauseみたいなの。
キーを押さないとウィンドウが閉じないようにしたい。
XP PRO SP3です。
0291名無し~3.EXE
2010/05/21(金) 23:33:43ID:WdVH3pFc0292名無し~3.EXE
2010/05/21(金) 23:36:05ID:WdVH3pFc0293名無し~3.EXE
2010/05/22(土) 01:34:05ID:iN+rPVH/runas /? の例のところに
> runas /env /user:[email protected] "notepad \"my file.txt\""
て書いてあったのでダブルクォートの入れ子は使えるってことなのかな?
でも↓のをショートカットにしてみたけどやっぱエラーになる。
cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME "C:\bin\devcon.exe enable "PCI\VEN_HOGEHOGE"""
USERNAME のパスワードを入力してください:
C:\bin\devcon.exe enable PCI\VEN_14E4 をユーザー "DOMAIN\USER" として開始しています...
'DEV_HOGE' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'HOGE2' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
'HOGE3""' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0294名無し~3.EXE
2010/05/22(土) 04:25:45ID:XfHQXv+A0295名無し~3.EXE
2010/05/22(土) 16:43:25ID:iN+rPVH/\でエスケープするのか。
もう一段深くするのは\\"じゃないの?↓うまくいかないよ。
cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \\"PCI\VEN_HOGEHOGE\\"\""
0296名無し~3.EXE
2010/05/22(土) 18:59:02ID:XSrApt/u\がエスケープ文字だというんなら、
PCI\VEN_HOGEHOGEの中の\とかもエスケープがいりそうな気がする。
0297名無し~3.EXE
2010/05/22(土) 19:28:05ID:iN+rPVH/じゃパスのデリミタの\もエスケープしなきゃダメだな。
もう訳わからんくなってきた。(´・ω・`)
0298名無し~3.EXE
2010/05/22(土) 22:28:42ID:XfHQXv+A•2n backslashes followed by a quotation mark produce n backslashes followed by a quotation mark.
•(2n) + 1 backslashes followed by a quotation mark again produce n backslashes followed by a quotation mark.
•n backslashes not followed by a quotation mark simply produce n backslashes.
0299名無し~3.EXE
2010/05/22(土) 23:44:12ID:iN+rPVH/cmd.exe /k "%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \\\"PCI\VEN_HOGEHOGE\\\"\""
でも失敗。
が、エラー(?)の種類が変わった。
RUNAS 使用法:
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<ユーザー名> プログラム
...略...
"PCI\VEN_HOGEHOGE"のところに&が入ってた。"PCI\VEN_HOGE&hage"みたいに。
これ関係あるのかな?
ダブルクォート中の&は特殊文字として扱われなくてそのままだと思い込んでた。
後出しでホントに申し訳ない。
0300名無し~3.EXE
2010/05/22(土) 23:51:12ID:RrzNIgQ+0301名無し~3.EXE
2010/05/22(土) 23:53:45ID:iN+rPVH/%windir%\system32\runas.exe /user:USERNAME \"C:\bin\devcon.exe enable \"PCI\VEN_HOGE&hage\""
取りあえず一番目の目的は達成できた。
けど、もうちょっとがんばってみる。
runas.exeが引数の解釈が独自だったりするのかな??
日記に付き合ってくれてありがと。
0302名無し~3.EXE
2010/05/23(日) 14:17:02ID:W2D4uAW/cmd.exeが独自解釈
0303名無し~3.EXE
2010/05/24(月) 20:17:20ID:W/5tifrWcall :sub
:sub
echo %~0
goto :eof
みたいにやって :sub とか出れば嬉しいんですけど…
0304名無し~3.EXE
2010/05/24(月) 20:37:22ID:U25k7xKb0305名無し~3.EXE
2010/05/24(月) 21:02:19ID:U25k7xKb0306名無し~3.EXE
2010/05/24(月) 21:33:28ID:U25k7xKbcall :sub
:sub
echo %~0
pause
goto :eof
0307名無し~3.EXE
2010/05/25(火) 00:53:32ID:cYyyrQH+あれ?
何度やっても出なかった…と思っていたら
echo %~n0
とやってて本体バッチ名取得してました
%~0 ならサブルーチン入るんですねorz
しょうもない質問ですみません
0308名無し~3.EXE
2010/05/28(金) 17:02:23ID:nj08k/yL以下に該当svchost.exeの再起動を組み込みたいです
どう記述すればよいかご教示ください
http://www.dotup.org/uploda/www.dotup.org920134.txt
0309名無し~3.EXE
2010/05/28(金) 21:38:05ID:u9g/OIqa0310名無し~3.EXE
2010/06/12(土) 00:47:37ID:Dlxn8xTRbatch?exe?探したけど見つからない
0311名無し~3.EXE
2010/06/12(土) 01:41:46ID:Dip7ylrcdirとかechoとかと一緒。
0312名無し~3.EXE
2010/06/12(土) 10:01:00ID:3fATMNp40313名無し~3.EXE
2010/06/13(日) 01:37:52ID:Czl7gJkW0314名無し~3.EXE
2010/06/13(日) 04:23:54ID:XhOpRdWv0315名無し~3.EXE
2010/06/13(日) 05:26:28ID:Rhlj2NIa0316名無し~3.EXE
2010/06/16(水) 06:58:54ID:Oy6d8rq0コマンドラインで取得したいです。
ご存知な方、ご教授ください。
0317名無し~3.EXE
2010/06/16(水) 22:38:27ID:39eX3Vg40318名無し~3.EXE
2010/06/17(木) 13:17:59ID:2Xq5jmQPこのコマンドの構文は次のとおりです:
NET
[ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | PAUSE | PRINT | SESSION | SHARE | START |
STATISTICS | STOP | TIME | USE | USER | VIEW ]
0320名無し~3.EXE
2010/06/17(木) 13:46:41ID:rA4YN+jFttp://blogs.technet.com/b/junichia/archive/2010/04/06/3323360.aspx
0321名無し~3.EXE
2010/06/18(金) 00:16:20ID:Lkx8YBO5そうか?
有能なパシリを確保すれば無限の可能性を秘めている最強コマンドじゃないかw
Vista以降は >>319 の言うように msg にしないとイカンようではあるけど
0323名無し~3.EXE
2010/06/18(金) 00:35:34ID:IBhIxhLK「俺がいない間に H/Wモニターと温度計付けとけ、PC壊したらゆるさん。
そして定時計測と俺が尋ねた任意の時の情報を即座に知らせろ。
ついでに茶ぁもってこい」
パシリなんだからこんな感じだろ
0324名無し~3.EXE
2010/06/18(金) 01:02:58ID:FRoXhJso0325名無し~3.EXE
2010/06/18(金) 09:45:16ID:BZUKhFUO'msg' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0326316
2010/06/18(金) 14:56:24ID:Czg/EYoBwmicコマンドで可能でしょうか?
wmicコマンドに熟知しているかた、
よろしくお願い致します。
0327名無し~3.EXE
2010/06/18(金) 22:28:50ID:eKBxx8ep0328名無し~3.EXE
2010/06/18(金) 23:10:23ID:WMDQ5xj15年前に終わりました。まだ気づきませんか?
0329名無し~3.EXE
2010/06/18(金) 23:14:33ID:eKBxx8ep2chにすごく詳しいんですね。2ch歴何年ですか?
0330名無し~3.EXE
2010/06/18(金) 23:23:42ID:E9Xtjaoh0331名無し~3.EXE
2010/06/19(土) 00:18:58ID:f++uISdW0332名無し~3.EXE
2010/06/19(土) 01:20:25ID:uwOhPTQr0333316
2010/06/19(土) 08:03:52ID:Oyfqtbw0MotherBoard Monitorを使用してsnmpで取れます。
しかし、MotherBoard Monitorはログインしていなければ取れないのです。
0334名無し~3.EXE
2010/06/19(土) 09:38:53ID:t2I57B/CそれをMB/GB表示するとこでつまずいた。
XPなら
0335名無し~3.EXE
2010/06/19(土) 10:00:35ID:J6JYfJEW0336名無し~3.EXE
2010/06/19(土) 12:28:10ID:t2I57B/Cまともに動かなかったのはこのディレクトリ名のせいでした。
ごめんなさい。
0337名無し~3.EXE
2010/06/19(土) 13:43:02ID:uwOhPTQrDOS時代のforから生まれ変わって機能拡張したNT4.0SP3の頃からずーっと不調のまま。
昔より多少は改善してるけど、未だに手放しで信用できるレベルじゃないから、わざわさ
一時ファイルにいったん吐いてからfor /fで読ませるような段取りしてやってる。
0338名無し~3.EXE
2010/06/19(土) 13:58:54ID:Lx2nza/O外部コマンド無しでHDDの空きをMiB・GiBに計算する方法は無いもんだか。
俺じゃ%freespace:~0,-6%みたいな次善策しか浮かばん…
0339名無し~3.EXE
2010/06/19(土) 14:36:25ID:DAoYqnz10340名無し~3.EXE
2010/06/19(土) 15:22:20ID:YGapzfgn上位桁と下位桁に分けて計算すりゃええじゃないか 小学生の算数だろ
>>337
ご苦労なこって 使い方が下手なだけだろ
0341名無し~3.EXE
2010/06/19(土) 20:03:50ID:YGapzfgnわかったようなこと言ってわかってねーんじゃねえの?
0342名無し~3.EXE
2010/06/19(土) 20:43:34ID:xbB9YwGi5年前に終わりました。まだ気づきませんか?
0344名無し~3.EXE
2010/06/20(日) 18:22:06ID:kQIbsBAe0345名無し~3.EXE
2010/06/20(日) 22:22:56ID:kOOEfEcyforの中でgoto使ったらだめとかそういうのは無いですよね?
gotoのあとで終わっちゃうんです
0346345
2010/06/20(日) 22:23:45ID:kOOEfEcy0347名無し~3.EXE
2010/06/20(日) 22:53:37ID:BRn0hbsFご希望はcallの拡張機能ではなくて?
0348名無し~3.EXE
2010/06/21(月) 00:43:21ID:8Cfs2MxUgoto :aaa
echo aaa
goto :bbb
)
:bbb
echo bbb
ってやってみな
0349名無し~3.EXE
2010/06/21(月) 00:44:40ID:8Cfs2MxU(
goto :aaa
goto :bbb
:aaa
echo aaa
)
:bbb
echo bbb
ってやってみな
0350名無し~3.EXE
2010/06/21(月) 01:34:24ID:+M8NFq+oC:\Documents and Settings\azusa>set z=%z:,=%
C:\Documents and Settings\azusa>echo %z%
jkl
0351345
2010/06/21(月) 02:20:35ID:yphIa24Tcallでラベルに飛べるんですね〜
ところで、現在末尾に@pause > nulと書いて表示を見てるんですが、
多分このせい?でキーを押さないと繰り返しを続けてくれないんですよね
@pause > nulのほかにウィンドウを閉じない方法は無いですか?
>>349
よくわからない;
0352名無し~3.EXE
2010/06/21(月) 06:30:42ID:Bf7wY82xコマンドプロンプト開いてCUIで実行したら処理終了してもそのまま。
0353名無し~3.EXE
2010/06/21(月) 10:49:23ID:nkKTN5RL「末尾」がcallされたブロックの一部になっちゃっててるからだろ。
@echo off
for %%v in (a b c d e f g) do (call :ex %%v)
call :ex2
@pause > nul
goto :hell
:ex
echo %1
goto :hell
:ex2
echo オワタ
REM goto :hell ; これはなくても結果は同じ
:hell
0354名無し~3.EXE
2010/06/21(月) 15:12:26ID:Bf7wY82xeofはラベル不要。
自分の作ったラベルに飛んだら末尾のpauseに引っかかる。
0355名無し~3.EXE
2010/06/21(月) 21:23:31ID:+M8NFq+oset size=%size:,=%
set /a size=%size%/1024/1024
echo %size% MiB
0356345
2010/06/21(月) 22:30:59ID:yphIa24Tああーできました
callはどこでもドア〜でforの外と繋がってるんですね
:exは:ex2の3行を除く末尾までがブロックてことですか
助かりましたありがとう!
0357名無し~3.EXE
2010/06/21(月) 22:56:33ID:Bf7wY82x%size%が2G超えてなければ文字列としても数値としても動くけど…
set size=2147483647
set /a size=%size%/1024/1024
echo %size% MiB
2047 MiB
set size=2147483648
set /a size=%size%/1024/1024
echo %size% MiB
-2048 MiB
0358名無し~3.EXE
2010/06/22(火) 01:07:06ID:eOY9ss6I0359名無し~3.EXE
2010/06/22(火) 04:28:52ID:wV9BOjvzああ、そうなんだ。
じゃあ、プチサービスを作って、そのアプリをサービス化しちゃえばログインしていない状態でも取れるかもよ、
と書いてここがム板じゃないことに気付いた。
なんかそういうフリーソフトがあったような気がしなくもないよ>サービス化
0361名無し~3.EXE
2010/06/25(金) 10:48:42ID:LxrszcVGMLB
0363名無し~3.EXE
2010/06/25(金) 20:22:18ID:1v/RbT1q@echo off
set A=214748742140
set B=1024
set ans=
set r=
:div
set r=%r%%A:~0,1%
set A=%A:~1%
set /a s=r/%B%
set /a r=r%%%B%
set ans=%ans%%s%
if %r%%A% GEQ %B% goto :div
echo %ans%%A%
echo %r%
0364名無し~3.EXE
2010/06/25(金) 20:25:30ID:blfI5Op20366名無し~3.EXE
2010/06/26(土) 01:24:49ID:ZJyYx8uG@echo on
set A=1023
set B=1024
set ans=$
set r=
:div
set r=%r%%A:~0,1%
set A=%A:~1%
set /a s=r/%B%
set /a r=r%%%B%
set ans=%ans%%s%
set ans=%ans:$0=$%
if defined A goto :div
if $%ans% == $$ (echo 0) else echo %ans:~1%
echo %r%
0367名無し~3.EXE
2010/06/26(土) 01:40:36ID:PZ7p49es0368名無し~3.EXE
2010/06/26(土) 02:01:46ID:ZJyYx8uGset r=0
:div
set /a r=%r%*10+%A:~0,1%
0369名無し~3.EXE
2010/06/26(土) 23:23:35ID:8YnLP4RlWin7でシステム情報(msinfo32)のコンボーネントの"CD-ROM"や"USB"の内容をコマンドラインで
outputしてファイルに書き出したいのですが分かりません。(敢えてGUIではなくCUIで)
どういうコマンドを実行すればいいのか教授してくれれば幸いです。
0370名無し~3.EXE
2010/06/26(土) 23:29:16ID:3iiN+0H60371名無し~3.EXE
2010/06/26(土) 23:38:36ID:8YnLP4Rl回答ありがとうございます。
しかしそのコマンドを実行するとGUIが出てくるのです・・たしかXPなら確認出来た気がしますが。
0372名無し~3.EXE
2010/06/27(日) 02:00:15ID:eWryKo38msinfo32 /categories +ComponentsUSB /report c:\usb.txt
と「ファイル名を指定して実行」でやってみて、
特にウインドウは出てこなかったけど、Win7だと出てくるの?
0373369
2010/06/27(日) 03:36:24ID:N7jjxMwCありがとうございます。
ログ出力はされたのですが特定のカテゴリじゃなく全ての情報が書き出されます。
Win7(Vista)だと特定のカテゴリを出力させるのは無理なんですかね・・。
>ウィンドウの件
msinfo32 /?
のコマンドなら出てきます。
教えていただいたコマンドならシステム情報を取得してログ出力ってなりました。
(ただし上記にも書いてある通り全ての情報が書き出されます)
ちょっと調べた所Vistaからそうだったみたいです。
0374名無し~3.EXE
2010/06/27(日) 20:50:36ID:9xWXQ4dRあー確かにWin7だとうまく動作しないっぽいね
じゃあPowerShellとか使ってWMIのクラスを叩くくらい?丁度Win7から標準搭載だし
ComponentsMultiMediaCDROMの場合なら
gwmi Win32_CDROMDrive
で済むと思うけど
ComponentsUSBと同じものを拾うとしたら、Win32_PnPEntityから
それっぽい文字列になってるものを選りすぐるとか
そういう泥臭いのしかないんじゃないかなぁ
gwmi Win32_PnPEntity | ? { $_.Description -match "HID|USB|マウス" }
しかしなんでmsinfo32の機能縮小したんだろね
0375369
2010/06/28(月) 17:46:44ID:F78fsBFc確かに機能縮小は謎ですね・・。
PowerShellはあまり使った事ありませんが
コマンドまで書いていただいたので地道に勉強してみます。
ありがとうございました。
0376名無し~3.EXE
2010/06/30(水) 19:30:37ID:YR7y5Xjchttp://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%B3%E3%83%BB%E3%82%A4%E3%83%B3%E3%83%BB%E3%83%96%E3%83%A9%E3%83%83%E3%82%AF
0377名無し~3.EXE
2010/07/01(木) 03:20:44ID:QN9kIZnS0378名無し~3.EXE
2010/07/01(木) 10:28:01ID:XJLs82t6ユーザシェルフォルダーの実パス取得があるな
0379名無し~3.EXE
2010/07/01(木) 15:29:42ID:MJ7cvx7N0381名無し~3.EXE
2010/07/06(火) 08:16:48ID:rSqQSwGrVBScriptファイル(WSH)側で実パス取得〜Echoメソッドでコンソール出力し、
その結果をバッチファイル(コマンドプロンプト)側で環境変数に入れるのが、
やはり無難だろうね。Windows9x系では使えない方法だが。
0382名無し~3.EXE
2010/07/06(火) 20:51:35ID:/e4Hb8z4dirも昔に比べればだいぶ機能追加されたのに、これくらいの拡張機能は付けてくれてもいいのに。。。
0383名無し~3.EXE
2010/07/06(火) 21:48:04ID:/FuRxImU0384名無し~3.EXE
2010/07/07(水) 03:57:50ID:U5LqLdYh0385名無し~3.EXE
2010/07/07(水) 07:48:21ID:vgLuymmP0386名無し~3.EXE
2010/07/07(水) 10:38:35ID:oGcD6RCh0387名無し~3.EXE
2010/07/07(水) 10:57:56ID:Om1IrP0e0388名無し~3.EXE
2010/07/07(水) 12:52:39ID:h2MR7EZe0389名無し~3.EXE
2010/07/07(水) 13:37:57ID:t9G7XhUGexFATは10ミリ秒単位で秒を記録できるようになったらしいが。
0390名無し~3.EXE
2010/07/07(水) 14:54:27ID:6szdPZ9Ldirも昔に比べればだいぶ機能追加されたのに、これくらいの拡張機能は付けてくれてもいいのに。。。
0391名無し~3.EXE
2010/07/07(水) 15:15:19ID:xJAkUjN5MSの設計思想じゃないのか?
エクスプローラでのファイルサイズは、キロバイト単位でしか出ないし。
何?プロパティ?ファイルが1000個あったらどーすんだ?
あれが「人に優しいUI」だと思ってるのかね。
んでもって馬鹿企業は、フリーソフト導入一切禁止とくるからなw
0392名無し~3.EXE
2010/07/07(水) 20:19:49ID:h2MR7EZe0393名無し~3.EXE
2010/07/07(水) 20:23:57ID:h2MR7EZe0394名無し~3.EXE
2010/07/07(水) 20:45:40ID:c7nJp2FA・・・出たての頃インスコしただけで難しそうで即挫折したけどがんばって勉強しようかなぁ。。。
0395名無し~3.EXE
2010/07/07(水) 20:57:04ID:c7nJp2FAぜんぜん提供されないね。エクスプローラとかGUIでもそうだけど。
いちおうdirでは見れるようになったけど何か中途半端な扱いだし。
そもそもdirでもエクスプローラでも何でもそうだけど、
ファイルのサイズとして表示する数字の中に代替ストリームの
サイズが含まれてないってすごく変だけど、それすら改善する気は
ないのかなぁ。。。
0396名無し~3.EXE
2010/07/07(水) 21:08:16ID:G5zQV+Xi0397名無し~3.EXE
2010/07/07(水) 21:26:40ID:c7nJp2FA0398名無し~3.EXE
2010/07/08(木) 01:53:36ID:VY4uFioDls -l --time-style=full-iso
0399名無し~3.EXE
2010/07/08(木) 10:21:39ID:WJ0dgMNJ0400名無し~3.EXE
2010/07/08(木) 13:17:45ID:A4sgn4ig0401名無し~3.EXE
2010/07/08(木) 15:56:59ID:YFxuaHp+0402名無し~3.EXE
2010/07/08(木) 18:40:56ID:mSeEMGGW0406名無し~3.EXE
2010/07/09(金) 00:19:41ID:Iz5FPOV3ls | select {$_.Name},{$_.LastWriteTime.ToString("o")}
0407名無し~3.EXE
2010/07/09(金) 01:16:52ID:YBwYJTPj何がしたいと言う訳では無いのですが、
時間に余裕も出て来たので、何か勉強しようかなと思いまして。
どうせなら全く分からないものでもしてみようかと。
0408名無し~3.EXE
2010/07/13(火) 14:03:52ID:Idvtsd890409名無し~3.EXE
2010/07/14(水) 00:48:10ID:18dmiFV+教科書やドリルみたいなの買うと課題の不毛さに後悔するから
技術評論社のポケットリファレンスシリーズみたいな
手元に置いてパッと引けるようなのが一冊あると便利
でも先にコマンドを使う目的を見つけた方がいいと思うよ
目的がないと使い道がないから学んでも頭に入らないと思う
「毎日毎日手作業でファイルコピーしてるけど面倒くさくて嫌になった」
↓
「なんか金のかからない方法で自動化したい」
↓
「コピーコマンドを連ねてバッチファイルを作ればできるらしい」
↓
「じゃあまずコピーコマンドってのが何なのか知ろう」
みたいにさ
0410名無し~3.EXE
2010/07/14(水) 02:32:26ID:VDWtT12a0411名無し~3.EXE
2010/07/14(水) 11:48:41ID:o241LDmCその逆を解説したようなサイトがあれば教えてください。
別に全コマンドの解説でもかまいません。
0412名無し~3.EXE
2010/07/14(水) 12:27:19ID:o241LDmC0413名無し~3.EXE
2010/07/14(水) 15:15:12ID:8OLeN+Q5知りたい機能だけ調べるってやり方だと、
知ってると便利な機能や小技を見落としたままってことがあるんだよな。
0414名無し~3.EXE
2010/07/14(水) 15:38:45ID:DWnN3+Gmttp://support.microsoft.com/kb/304718/ja
ここから抜け
0416名無し~3.EXE
2010/07/14(水) 22:23:30ID:khPkUWCA今日びのWindowsのコマンドプロンプトの存在意義って、どっちかっつーと
なんかニッチな理由とか事情があって使うニッチな手段って感じのものだから、
具体的な利用目的もなしにゼロから勉強がしたいからって学ぶんであれば、
VBSとかの高機能で汎用的なスクリプト言語やJavaとかC++とかの開発言語を
勉強したほうが使い道広くて楽しいと思う。
あと、コマンドの世界って、シロート目にはけっこう複雑そうに見えるかもしれないけど
それほど奥行きある世界じゃないから、そういう他の言語を触ったことある人なら
すぐに使えるようになるし。
0417名無し~3.EXE
2010/07/14(水) 22:39:46ID:DWnN3+Gmttp://www.microsoft.com/downloads/details.aspx?familyid=5fb255ff-72da-4b08-a504-1b10266cf72a&displaylang=en
0418名無し~3.EXE
2010/07/15(木) 00:24:52ID:9HG2F3kZhttp://bookweb.kinokuniya.co.jp/htm/4797306580.html
当時のこの手の書籍の中では頭抜けてマニアックで面白かった。
もう内容古いから探して入手するほどの価値ないだろうけど。
0419名無し~3.EXE
2010/07/15(木) 00:58:11ID:+yt3bVbq俺もそういうのいっぱい買ったわー
>>411
[スタート]→[ヘルプとサポート]あたりで「リファレンス」で検索すると
コマンドラインのリファレンスを呼び出せない?
XPには標準でそういうのがあるよ
無料だし構文や使用例も載っててヒョイと引くのに便利
0420名無し~3.EXE
2010/07/15(木) 14:58:19ID:8KdjHHcIttp://technet.microsoft.com/en-us/library/cc754340(WS.10).aspx
0421名無し~3.EXE
2010/07/28(水) 18:19:36ID:e7q9P6740422名無し~3.EXE
2010/07/28(水) 19:04:26ID:ZQnjYQxVファイル名として使用できる文字です。
またバッチファイルでコマンドの前に記入すると一時的にコマンドエコーをOFFにできます。
この機能が実装される前はバッチファイルを実行すると echo off だけは必ず表示されてしまいました。
また一部のプログラムではレスポンスファイルを指定するために利用されていましたが
これは各プログラムの独自仕様にすぎません。
0424名無し~3.EXE
2010/07/29(木) 02:33:02ID:VEGuyEZw0425名無し~3.EXE
2010/07/29(木) 17:14:29ID:GRiVPKFEfor /f %i in ('dir /b') do @(echo %i | find "hoge")
よくこんな風にブロックの前に付けて使う
0426名無し~3.EXE
2010/08/05(木) 18:43:52ID:IZFsq8v1例
c:\hoge\piyo\fuga → fuga
って感じです。
よろしくお願い致します。
0428名無し~3.EXE
2010/08/05(木) 23:12:58ID:IZFsq8v1ありがとうございます。
>>281 難しいですねぇ・・・・。
理解するまで20分ぐらいかかった気がします・・・。
hoge\piyo\fuga\
で&で繋いで連続置き換えした場合
hoge\ → hoge に
piyo\ → piyo に
fuga\ → fuga に
それぞれ置き換えられて、それが上書きされ続けるから
fuga が最終的な結果として残るんですね・・・。
Linuxなら
$ basename $PWD
だけでいけるんすけどね・・・。Batは大変ですねぇ・・・。
0429名無し~3.EXE
2010/08/05(木) 23:49:15ID:5Vz2vpqJGnuWin32 の basename.exe を使うか PowerShell で
(New-Object System.IO.DirectoryInfo c:\hoge\piyo\fuga).Name
とするかだな
0432名無し~3.EXE
2010/08/06(金) 14:58:00ID:JpyntOt0> hoge\piyo\fuga\
> で&で繋いで連続置き換えした場合
>
> hoge\ → hoge に
> piyo\ → piyo に
> fuga\ → fuga に
> それぞれ置き換えられて、それが上書きされ続けるから
> fuga が最終的な結果として残るんですね・・・。
そうじゃなくて>>281。
0433名無し~3.EXE
2010/08/06(金) 16:04:26ID:P08HpVjX0434名無し~3.EXE
2010/08/06(金) 21:37:36ID:vLVu3Wucそこまで求められてるのかわからんが、それでも Split-Path -Leaf 程度でいいと思う
0435名無し~3.EXE
2010/08/19(木) 00:49:29ID:AKG7vMGF0436名無し~3.EXE
2010/08/22(日) 22:19:40ID:SHfyvJzxオヌヌメ
0437名無し~3.EXE
2010/09/08(水) 11:47:09ID:ExZrz259Alt+Space Nで強引にやるという方法を思いついたんだがどうやって再現すればいいのかな?
最小化で起動とかじゃなくて現在開いてる専ブラ『を』最小化させたい
0438名無し~3.EXE
2010/09/08(水) 19:50:56ID:IChAHWQAtest2.txt
test3.txt
・
・
・
を
for %%I in (*.txt) do rename %%I n%%I
ってやると、
他は ntest*.txt になるのに、最初のtest1.txtだけが
二度処理されて、nntest1.txtになるんだけど、何故に?
ちなみに
for %%I in (*.*) do rename %%I n%%I
だとこれは起きない。
0439名無し~3.EXE
2010/09/08(水) 22:10:31ID:ESa0VeB70441名無し~3.EXE
2010/09/09(木) 17:52:31ID:C/P/KViwおや、汲み取り式便所のカマドウマさん、お久しぶりです。
すみません、
atest.txt
btest.txt
ctest.txt
で、もっかい試して下さい。
0443名無し~3.EXE
2010/09/12(日) 22:37:50ID:9HrE/Va37の64でお試し下さい。
バグ見つけるのって、そんなに
珍しいのか?
0444名無し~3.EXE
2010/09/13(月) 01:41:02ID:307mnpFn0446名無し~3.EXE
2010/09/14(火) 03:22:10ID:OWWZ72hR0447名無し~3.EXE
2010/09/14(火) 03:39:20ID:I0Da5NkLfor /l %I in (0,1,9) do echo a>>test%Itxt
for /l %J in (0,1,9) do for %I in (*.*) do ren %I %J%I
0448名無し~3.EXE
2010/09/15(水) 11:46:31ID:eJPlDDZ+すみません、上手く言葉で伝えられないので、現状とやりたいことを書きます。
自端末からは自分のドメインアカウントでアクセスします。
※(自端末)-->(ファイルサーバ)
サーバ作業ではサーバのAdministratorでリモート接続しています。
※(自端末)-->(サーバ)
サーバ作業でファイルサーバにアクセスする必要が生じたため、
サーバからファイルサーバへは自分のドメインアカウントでアクセスします。
※(自端末)-->(サーバ)-->(ファイルサーバ)
このとき、エクスプローラでファイルサーバを開く場合は、
ダイアログでユーザ名とパスワードを聞かれるので問題ありません。
また、そのとき認証した後であれば、
> dir "\\fileserver\folder"
で普通にアクセスできるのですが、
エクスプローラで一旦開いてダイアログで認証した後でないと、
「ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。」
でエラーとなってしまいます。
コマンド実行時にダイアログ表示でもコマンド上でIDとパスワードを入力でもよいので、
コマンドからファイルサーバへ認証されたいです。
以上、よろしくお願いいたします。
0449名無し~3.EXE
2010/09/15(水) 11:58:35ID:LDzuokxr0450名無し~3.EXE
2010/09/23(木) 12:26:56ID:ENQspaai書き出すというバッチ処理をしたいのですが、書き出す段階で詰まってしまいました。
「文字列を含む行が一切見つからなければ、何もしない」
「文字列を含む行が一つ以上見つかり、かつ書き出し先のログファイルが存在しなければ新規に作成」
「文字列を含む行が一つ以上見つかり、かつ書き出し先のログファイルが既に存在していれば追記」
という風に処理したいのですが、条件分岐をどのように記述すればいいかわかりません。
知恵を貸してください、お願いします。
0451名無し~3.EXE
2010/09/23(木) 13:18:27ID:KL5j0g2H0452名無し~3.EXE
2010/09/23(木) 14:27:58ID:qg7tCsFXファイルがあればもちろん追記
条件分岐いらんでしょ
0453名無し~3.EXE
2010/09/23(木) 17:34:11ID:ENQspaai文字列を含む行が一切見つからず、かつ書き出し先のログファイルが存在しなければ
空のログファイルを作成をせずに、そのまま処理を終了したいです。
やはり一度ログファイルを作成して、ファイルサイズを判定して空なら削除という
処理をするしかないですか?
>> で追記処理を始める前に、findstrで文字列が見つかったかどうかで条件分岐できるのが理想です。
0454名無し~3.EXE
2010/09/23(木) 17:44:28ID:3l4EZa2f0455名無し~3.EXE
2010/09/23(木) 21:35:10ID:KL5j0g2Hだからファイルサイズで分岐してサイズが0なら削除すりゃいいと書いた。結果的に同じになるから。
対象ディレクトリに一瞬でもファイルが作られるのが嫌なら、
%tmp%にでも吐きだしてからサイズ判断してコピーすりゃいい。
それすら嫌なら何らかのスクリプト言語でも使っとけ。
0456名無し~3.EXE
2010/09/23(木) 22:08:13ID:csJcKMrTfor /f %%i in ('コマンド') do echo %%i>>hoge.txt
なければつくられないよ
0457名無し~3.EXE
2010/09/23(木) 23:49:49ID:DcnPYhE5連結するなりした方が良いと思うがどうしてもというのなら、
OSによってerrorkevelの数値が異なってくるかも知れないが、win2k以降のfindstrだと
hitしたか、hitしなかったかは、errorlevel(又は%errorlevel%環境変数も使える)に通知される。
詳しくは、if /?で。
rem *** 一発目のfindstrは判定だけして結果は捨てる。hitしたら改めてfindstrをやり直す ***
findstr >nul
if errorlevel 1 (
echo no_hit
) else (
echo hit
)
0458名無し~3.EXE
2010/09/24(金) 21:33:40ID:3UIxp3Zhありがとうございます、一時ファイル出力して結合という方法があることをすっかり見落としてました。
検索した対象のファイル名+ヒットした各行という形式のログファイルにしたかったので
直接出力してファイルサイズ判定は都合が悪かったのですが、この方法なら目的を果たせます。
重ねてありがとうございます。
0459名無し~3.EXE
2010/10/08(金) 09:52:55ID:uwm9Vwqhopenfiles /Local on
して再起動して確認しても誰も掴んでない。
openfiles /Query /V
ってひょっとしてサービスプロセスが握ってるのは表示されない?
具体的にいうと、
TracサーバのApacheプロセスがlogファイル握ってるのに、
openfilesで確認できない。
サービスプロセスのも表示できて且つ強制的にdisconnectさせれるようなコマンドない?
0460名無し~3.EXE
2010/10/09(土) 00:51:26ID:t24JYLHLそういう場合、リブートする方が早いことが多いし、面倒がない。
apache 数分止まるけど。
0461名無し~3.EXE
2010/11/15(月) 11:23:52ID:cFdTFkqYatでも問題ないのでしょうか?調べて、結局、GUIのタスクを利用したのですが、
テキストファイルを関連付けてあるemeditorでなく、システムのメモ帳で開いてしまいます。
コマンドラインでスケジュールすれば特定のエディターを指定できるのでしょうか?
0462名無し~3.EXE
2010/11/15(月) 13:04:04ID:iSeO6BmPエディタのexeの引数にファイル名を指定すればいいだけ
0463名無し~3.EXE
2010/11/15(月) 16:18:59ID:B3yLO2jo0464名無し~3.EXE
2010/11/15(月) 22:01:26ID:x9QGtyJGユーザプロファイルに情報を登録するようなジョブや
ネットワーク上の共有フォルダに接続するようなジョブなどの場合
かなり面倒くさい細工をしなくちゃならない(一応できなくはない)
SCHTASKSはジョブの実行者を設定できるので
ローカルの単なるユーザでもドメイン管理者アカウントでも
好きなユーザの権限で実行できる利点があるが
User権限でログインしてる時にSCHTASKSコマンドを実行すると
PowerUserやAdministratorなど上位の権限ではジョブを実行できない
(ジョブを仕掛けても失敗する)
XPの出た当初SCHTASKSは管理者アカウントにログオンし直さなくても
管理者権限でコマンドやファイルを実行できる方法として挙げられていたが
リソキの隅っこに「実はできないんだな(テヘ」と書いてあってムキーッとなった
雑談はさておき>>461
462氏の言わんとしているのは
emeditor.exe (ファイル名)
または
(フルパス)\emeditor.exe (ファイル名)
という指定をする事で目的のファイルをemeditorで開けると言ってくれている
ATコマンドで実行する場合は /interactive オプションつけれ
そうしないと実行しても自分にゃ見えない
0465名無し~3.EXE
2010/11/16(火) 00:00:16ID:A8alUq5F0466名無し~3.EXE
2010/11/16(火) 01:09:01ID:2nYdeYXU0467名無し~3.EXE
2010/11/16(火) 16:05:31ID:TDvzZuuK0469名無し~3.EXE
2010/11/23(火) 20:55:37ID:vYKBvqL/実行ファイルに渡すという処理をバッチでやろうとしています。
サンプルとして以下のようなfor文を書きました。
--------------------------------------------------
for /F "USEBACKQ tokens=1-6 delims==," %%A in ("C:\test\hoge.csv") do (
echo "%%A" "%%B" "%%C" "%%D" "%%E" "%%F"
hogehoge.exe "%%B" "%%A" "%%D" "%%F" "%%C%%D" "%%E"
)
--------------------------------------------------
CSVファイルの中身が
test1,test2,test3,test4,test5,test6
のように連続して並んでいる場合は、問題なく変数%%A〜%%Fに順序良く格納されるのですが
test1,test2,,test4,test5,test6
のように間に歯抜けのフィールドがあると、それより後ろのフィールドが繰り上がって
"test1" "test2" "test4" "test5" "test6" ""
のように左詰めで格納されてしまいます。これを
"test1" "test2" "" "test4" "test5" "test6"
といったように、歯抜けのフィールドはそのまま変数の中身もブランクに
もしくは次善策として半角スペースを代わりに格納するようにしたいのですが
for文以外の方法も含め、何かやり方はありますか?
0470名無し~3.EXE
2010/11/23(火) 21:28:41ID:HsWf4XRb0471名無し~3.EXE
2010/11/23(火) 21:29:23ID:HsWf4XRbよく読んでなかった
CSXの中身か
0472名無し~3.EXE
2010/11/23(火) 22:54:24ID:ogLcfvq+0473名無し~3.EXE
2010/11/23(火) 23:08:05ID:e+Jq/zMX0474名無し~3.EXE
2010/11/24(水) 02:15:15ID:9z2PCu2J出来ないのなら後から整形すればいい
もちろん一旦作業ファイルを作らずとも二重forループで一気に書く方が良いかも知れんが。
setlocal EnableDelayedExpansion
@echo off
echo.>%temp%\tmp.csv
for /f "usebackq tokens=1* delims=" %%i in ("c:\hoge.csv") do (
set line=%%i
set line=!line:,,=, ,!
echo !line! >> %temp%\tmp.csv
)
endlocal
for /f "usebackq tokens=1-6 delims=," %%i in ("%temp%\tmp.csv") do (
echo %%i %%j %%k %%l %%m %%n
)
rem del %temp%\tmp.csv
0475名無し~3.EXE
2010/11/24(水) 02:34:19ID:9z2PCu2J最初のループ中でecho出力する直前に1行追加
if "!line:~0,1!" equ "," set line= !line!
0476名無し~3.EXE
2010/11/24(水) 02:59:52ID:9z2PCu2J下から3行目は環境変数oに半角スペースを代入してくれ(投稿するときに削られてるだろうから)
@echo off
setlocal EnableDelayedExpansion
echo.>%temp%\tmp.csv
for /f "usebackq tokens=1* delims=" %%i in ("c:\hoge.csv") do (
set line=%%i
set line=!line:,= ,!
for /f "usebackq tokens=1-6 delims=," %%j in (`echo !line!`) do (
set j=%%j
set k=%%k
set l=%%l
set m=%%m
set n=%%n
set o=%%o
if "!j!" neq " " set j=!j:~0,-1!
if "!k!" neq " " set k=!k:~0,-1!
if "!l!" neq " " set l=!l:~0,-1!
if "!m!" neq " " set m=!m:~0,-1!
if "!n!" neq " " set n=!n:~0,-1!
if "!o!" equ "" set o=
echo '!j!' '!k!' '!l!' '!m!' '!n!' '!o!'
)
)
0477名無し~3.EXE
2010/11/24(水) 18:20:36ID:ISHB697F0478名無し~3.EXE
2010/11/24(水) 18:41:39ID:TgFKsTt0みたいなCSVにしときゃ済む話では?
0479名無し~3.EXE
2010/11/24(水) 20:39:53ID:TgFKsTt0@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in ("C:\test\hoge.csv") do (
set t=%%i
set t="!t:,=","!"
for /f "usebackq tokens=1-6 delims=," %%a in (`echo !t!`) do echo %%~a,%%~b,%%~c,%%~d,%%~e,%%~f
)
0480名無し~3.EXE
2010/11/24(水) 21:56:08ID:ISHB697Fとかでもうまくいくか?
0481名無し~3.EXE
2010/11/24(水) 22:00:56ID:TgFKsTt00482名無し~3.EXE
2010/11/24(水) 22:35:15ID:w7d1oTakID:TgFKsTt0さん、その発想はなかったです。>>479の方法ですと歯抜けフィールドは
nullとして変数に格納されるので特にいい感じです。
ID:9z2PCu2Jさんもありがとうございます。
ですがいずれの場合でも、遅延環境変数のためCSVのフィールド内に半角の!が
含まれていると詰みますね。含まれる可能性があるかないかは現時点で何とも言えないのですが。
しかしデリミターで抽出された対象がnullだと、後ろの対象を繰り上げて変数に格納する
というこのバッチの挙動が今一つ腑に落ちないのですが、どういった理由からこのような
仕様になったのでしょうか?
ちなみここのところの長期規制につき、代理レスを依頼してるためIDが一定しないと思います。
0483名無し~3.EXE
2010/11/24(水) 22:40:05ID:TgFKsTt0そもそもデフォルトのデリミタである空白で一つ一つ区切られるような仕様だったら
えらく使用に困る代物だろ?
連続した区切り文字は一つの区切りとして考えるのは当然の流れ。
0484名無し~3.EXE
2010/11/24(水) 23:08:48ID:TgFKsTt0@echo off
for /f "usebackq delims=" %%i in ("csv.txt") do (
call :sub %%i
)
goto :eof
:sub
set t=%*
set t="%t:,=","%"
for /f "usebackq tokens=1-6 delims=," %%a in (`call echo %%t%%`) do echo %%~a,%%~b,%%~c,%%~d,%%~e,%%~f
goto :eof
0485482
2010/11/24(水) 23:51:10ID:iNcoiXRQktkr!!!
ありがとうございます、おかげさまで望みどおりの動作になりました。
そういえばこの遅延環境変数回避のテクニック、自分も以前使ったことがあるのに忘れてました;
連続した半角スペースが全部デリミタとして機能したら問題だというのは分かりますが
繰り上げると今回のCSVのように、何番目の要素かということが重要な意味を持つ場合に
問題になる気がします。つまるところバッチが使われるシーンではそういう例は稀なのでしょうか。
私は文字列操作の経験があまりないので、今後お話しいただいた内容を頭の片隅に
入れときながら注意していこうと思います、ありがとうございました。
0486名無し~3.EXE
2010/11/26(金) 03:25:44ID:3vgrgtW/0487名無し~3.EXE
2010/11/28(日) 15:33:50ID:XlH6ZNHDfindstr /r 文字列 パス
で正規表現探索は出来るのですが、出力されるのが行単位なので、さらに各行内の
正規表現にマッチした部分まで絞り込んで抽出したいのです。
0488名無し~3.EXE
2010/11/28(日) 23:41:54ID:kjMh0K6B0489名無し~3.EXE
2010/12/13(月) 22:48:34ID:KFG9s2Nihttp://journal.mycom.co.jp/column/winxp/014/index.html
【コラム】Windows XPスマートチューニング (14) 「reg.exe」の使い方を覚える その1 | パソコン | マイコミジャーナル
http://journal.mycom.co.jp/column/winxp/014/index.html
環境変数を埋め込むバッチファイルを作成できるか - Windows XP - 教えて!goo
http://oshiete.goo.ne.jp/qa/3886755.html
システム環境変数が保存されない? - Windows XP - 教えて!goo
http://oshiete.goo.ne.jp/qa/1534071.html
PATHのリフレッシュ方法はにでしょうか? - Windows系OS - 教えて!goo
http://oshiete.goo.ne.jp/qa/1939243.html
教えて!goo[システム環境変数 レジストリ]についての検索結果 ( 約36件中 1〜10件を表示 ) - 教えて!goo
http://oshiete.goo.ne.jp/search_goo/result/?qatype=qa&st=all&sr=norm&tf=all&good=0&dc=10&type=html&code=utf8&MT=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0+%E3%83%AC%E3%82%B8%E3%82%B9%E3%83%88%E3%83%AA
0490名無し~3.EXE
2010/12/13(月) 23:25:15ID:EVo3YvrE0491名無し~3.EXE
2010/12/18(土) 00:31:31ID:mG6dcAQgreg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v path /t reg_sz /d "%path%;c:\bin\uty"
0492名無し~3.EXE
2010/12/18(土) 17:34:22ID:EcM8V9cL0493名無し~3.EXE
2010/12/22(水) 08:46:53ID:HhLXioMQ0494名無し~3.EXE
2010/12/22(水) 13:52:27ID:LoRW5TNXしょうがないから自分で作った
0495名無し~3.EXE
2010/12/22(水) 22:53:09ID:XaXxiced0496名無し~3.EXE
2010/12/23(木) 17:29:45ID:9ROm8nmOtype 初期化.txt |format G: /FS:FAT32 /V:DATA
(echo DATA&echo y)|format G: /FS:FAT32 /V:DATA
上は正常に終了するのに下は
ファイル システムの種類は FAT32 です。
ドライブ G: の現在のボリューム ラベルを入力してください ドライブに無効なボリュー
ム ラベルを入力しました。
となってうまくいきません。理由を教えてほしいです。
ただし、初期化.txtの中身は
DATA
y
の2行(改行付き)です。お願いします。
0497名無し~3.EXE
2010/12/23(木) 19:38:03ID:5eVdfHFt0499名無し~3.EXE
2010/12/23(木) 22:12:25ID:RnH41D1Xこちらで質問させてください。
以下のようなschtasksでタスクを作り、その日の01:13だけにR:\test.batを実行させるタスクを作りました。
SCHTASKS /Create /SC ONCE /TN TESTJOB /TR R:\test.bat /ST 01:13
R:\test.batがその日の01:13に実行されたのですが、
タスクはスケジューラーでみると次回実行時刻が空白のまま残っています。
タスクの実行後自動的にこのタスクを削除する指定はどうやるのでしょうか?
タスクスケジューラーの設定をみると
「タスクの再実行がスケジュールされてない場合に削除されるまでの時間」という設定があって
この設定をどうやって、CLIで指定するかです。
OSはWindows7 Ultimate 64bit
0500名無し~3.EXE
2010/12/23(木) 22:41:56ID:5eVdfHFt勉強するったって、勉強しても無理だと思うぞ
ヒント1
(echo DATA&echo y)|more>a.txt
a.txtをメモ帳で開いて、空白の有無をチェックしてみ
ヒント2
(echo DATA&echo y&echo %%cmdcmdline%%)|more>a.txt
なぜそうなるかこれで分る
0502名無し~3.EXE
2010/12/23(木) 22:52:20ID:RnH41D1XC:\>SCHTASKS /Create /SC ONCE /TN TESTJOB /TR R:\test.bat /ST 23:13 /Z
エラー: タスク XML に必須の要素または属性が含まれていません。
(40,4):EndBoundary:
C:\>
/Kとかもやってみたしうまくいかない。
0503名無し~3.EXE
2010/12/23(木) 23:00:45ID:izmRYVGwこういう方法もあるぞ
echo Y|format g: /fs:fat32
label g:DATA
0504496
2010/12/24(金) 00:26:20ID:Gp00iisX追加情報ありがとうございます。
cmd /cを使わないとyだけがformatコマンドに送られるからだめなのと解釈したのですが、
まちがいでしたか?
ヒントは実行しましたが、すいません、理解できませんでした。難しいです。
>>503
レスありがとうございます。ですが、1行目でエラーが出てしまいます。
0505503
2010/12/24(金) 00:51:21ID:tS5P4SyWごめん
1行目は、
echo y|format g: (/q) /fs:fat32 /v:
だった
2行目をなくすには
echo y|format g: (/q) /fs:fat32 /v:DATA
だね
(Win7のcmd.exeとUSBメモリーで確認した)
0506名無し~3.EXE
2010/12/24(金) 00:56:06ID:rJh8lKs2DATA_
y_
になってるだろ?だからエラーになる
2つ目実行したら
DATA
y
C:\Windows\system32\cmd.exe /S /D /c" ( echo DATA & echo y & echo %cmdcmdline% )"
つまり、パイプの前は(echo DATA&echo y)が( echo DATA & echo y )に編集されてサブシェルで実行されるってこと
0507名無し~3.EXE
2010/12/24(金) 02:53:19ID:rJh8lKs2ttp://social.technet.microsoft.com/Forums/ja-JP/windowsvistaja/thread/9feb5243-1241-47bf-9d4c-0799b592132c/
0508名無し~3.EXE
2010/12/24(金) 02:57:38ID:rJh8lKs20509名無し~3.EXE
2010/12/24(金) 21:27:08ID:Gp00iisXたびたびありがとうございます。理解しました!敗因はパイプとリダイレクトでは
挙動が違うことに気づかなかったことと、ヒントをコマンドプロンプトから実行した
ことです。結果、こうなってしまって、わけがわからなくなりました。
DATA_
y_
%"cmd.exe" /k "cd D:\TXT"%_
%cmdcmdline%をググるか、ヒントをバッチで実行すれば済んだのですが。
なさけないです。丁寧な説明、ありがとうございます。
>>505
確認までしていただいて恐縮です。情報提供不足でした。実はGドライブには元から
ボリュームラベルがついているのですよ。
その場合、Formatコマンドはラベルの再入力を求めるので、yだけではエラーになるのです。
蛇足ですが、コマンドラインはPerlスクリプト内で使用しています。モジュールを組み込む
より、qx(コマンドライン)のほうが楽ですので。筋が悪いですが(^^;)
アドバイス、ありがとうございます。
0510名無し~3.EXE
2010/12/24(金) 22:22:09ID:rJh8lKs20512名無し~3.EXE
2010/12/26(日) 12:45:43ID:ciLh5r7Bユーザー名・パスワードとZ V1を付けたらうまくいった。
SCHTASKS /Create /SC ONCE /TN TESTJOB /TR R:\test.bat /ST 01:13 /RU mona /RP password /Z /V1
0513名無し~3.EXE
2011/01/08(土) 00:25:22ID:KRZHH0QO0514名無し~3.EXE
2011/01/08(土) 06:09:28ID:uHaCk9v5みたいな処理ってどう書けばいいの
0515名無し~3.EXE
2011/01/08(土) 09:36:00ID:UiJAiM7p0516名無し~3.EXE
2011/01/08(土) 14:51:51ID:wFF3NM0U0517名無し~3.EXE
2011/01/08(土) 15:27:21ID:MuSt9ita一応検査対象の文字列をファイルに保存してfindstrすれば正規表現の方はできそうだけど。
0518名無し~3.EXE
2011/01/08(土) 15:56:23ID:wFF3NM0U0519名無し~3.EXE
2011/01/12(水) 19:09:19ID:PoyWM9uQa.01
a.02
a.03
といったバイナリファイルをまとめてドロップすると
copy /b "a.01"+"a.02"+"a.03" "a"
という処理をさせたい(ファイル名はスペースを含んだりさまざまです)のですがどう書けばいいですか?
ドロップするファイル群の名前はみんな同じかとか、連番の拡張子かとかは人間側で判断しようと思っています
単純に入力部分にワイルドカードが使えるのかなと思ったのですが駄目でした
あとドロップで渡されたときのファイルの順番は必ずしもファイル名の昇順とは限らないんでしょうか
0520名無し~3.EXE
2011/01/12(水) 22:59:55ID:aRkUDzA8ファイル名に空白文字入るかどうか、とか、結合する順番は単純に文字列ソート順でいいのかどうか、とか、
出力先のファイル名どう決めるか、とか、最大ファイル数あるいは最長パス長どうするか、とか、
仕様の細かい部分は考えるだけでカウパー出てきたぜ。
0522名無し~3.EXE
2011/01/12(水) 23:24:44ID:rNDzd7N50523名無し~3.EXE
2011/01/13(木) 01:31:36ID:8DexkebC0524名無し~3.EXE
2011/01/13(木) 09:44:27ID:Cb6o+0JX0525名無し~3.EXE
2011/01/13(木) 10:46:27ID:Cb6o+0JXfor /f "delims=" %%I in ('dir /b /o-n %*') do copy /b "%%~dpnI" + "%%~I" "%%~dpnI"
0526名無し~3.EXE
2011/01/17(月) 20:32:44ID:cAtwP0h5コマンド実行で返ってきた値が入っているか、
IFで判定したいんですがどうやったらできますか?
いろいろやってみたんですが、全然うまくいかない…
0527名無し~3.EXE
2011/01/17(月) 20:38:39ID:Vn6Pawll0528名無し~3.EXE
2011/01/17(月) 21:26:49ID:cAtwP0h5いけました!ありがとうございます。
もう一点質問なんですが、inの中って変数展開できるんでしょうか?
for /f "delims=" %%I in (dsquery group -name %%temp) do echo %%I
みたいに記載すると、うまく展開されません。
0529名無し~3.EXE
2011/01/19(水) 13:10:47ID:wn7tagK/0530名無し~3.EXE
2011/02/13(日) 12:38:12ID:xOI1nq+5調べて一覧にするコマンドプロンプトのコマンドはありませんか?
固定IPかDHCPから割り振られたIPか、わかると更に嬉しいです。
0531名無し~3.EXE
2011/02/13(日) 13:24:32ID:qa6bFQMw0532名無し~3.EXE
2011/03/03(木) 05:16:29.94ID:DEBzw2H3この最後の空白行だけを、コマンドで削除したいんですが、どのようなコマンドになるでしょうか?
よろしければご教授願います・・・。
0533名無し~3.EXE
2011/03/03(木) 06:55:03.72ID:Ir7qnM+/(for /f "usebackq tokens=1,* delims=:" %%i in (`findstr /r /n ".*" "hoge.txt"`) do @(
if /i %n% GEQ %%i echo,%%j))>hogehoge.txt
0534名無し~3.EXE
2011/03/03(木) 17:03:37.23ID:yGt/TIu+sort /+100000 hoge.txt|more +1|sort /+100000 /o hoge.txt
0535名無し~3.EXE
2011/03/05(土) 22:32:31.95ID:oJAp4RiFとあるスクリプトを毎ログオン時に実行させたいのですが、
普段使ってるのは管理者権限のないアカウントで、
そのスクリプトはその管理者権限のないアカウントで
ログオンしたときにも、管理者権限で走らせたいんです。
また、そのPCを使用している人間に管理者パスワードを知られないようにしたいんです。
schtasks の onlogon で /ru を使うと、/ru で指定したユーザがログオンしたときにしか
スクリプトが走らないと思うんです。
(今、実験できる環境がありません。すいません。)
どのようにすればよろしいでしょうか?
まことに申し訳ありませんがご教授お願いします。
0536名無し~3.EXE
2011/03/05(土) 23:32:58.86ID:gtOstS9Qログオン時じゃなくて起動時だったらスタートアップスクリプトで出来そうだけど。
0537名無し~3.EXE
2011/03/05(土) 23:39:20.92ID:Gd+QfTap0538名無し~3.EXE
2011/03/06(日) 12:41:29.63ID:+PnaHAZDschtasksはログオンしてるユーザと同等かそれ以下の権限のアカウントでしか実行できない糞仕様
0539名無し~3.EXE
2011/03/06(日) 12:50:55.62ID:+PnaHAZDついでに
レジストリのHKMLのスタートアップ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
ここに新しい項目作ってスクリプトを実行するよう登録してみ
HKMLなのにログオンしないと走らない糞仕様だから>>535の目的には使えるかもよ
ただAdministrator権限じゃなくてSYSTEM権限で実行されるんでそこんとこ留意
0540名無し~3.EXE
2011/03/06(日) 21:09:03.09ID:+5J+PRQWHKLM -> HKLM
慌てすぎ。
0543名無し~3.EXE
2011/03/06(日) 21:37:47.26ID:+5J+PRQWさよなら……
0546535
2011/03/07(月) 01:01:48.26ID:QCcxjvdA改めて、皆様本当に、いろいろ考えていただき、
ありがとうございました。
それでは、失礼いたします。
0547名無し~3.EXE
2011/04/24(日) 00:53:46.83ID:ghmTn2efa.txtを作って
a.batに名前を変更
a.bat.txtとなって拡張子はそのまま
となってしまいます
めちゃくちゃ初歩的な質問ですみません
誰か教えてください
0549名無し~3.EXE
2011/04/24(日) 01:04:13.70ID:ae46KHG20550名無し~3.EXE
2011/04/24(日) 01:07:33.93ID:ghmTn2ef助かった
0551名無し~3.EXE
2011/05/10(火) 22:54:24.51ID:22nx6PrC与えられた引数を元にした名前のフォルダを作成するバッチファイルを
作成したのですが、フォルダの名前に使用できない文字(\/:*?"<>|)が
含まれる場合があるので、その部分は適時全角の近似文字に
置換してからフォルダを作成しています。
以下の方法で \/:?"<>| については対処できたのですが、残りの
* (半角アスタリスク)だけはどうしても*(全角アスタリスク)に
置換できません。他と同じように記述すると、構文エラーになってしまいます。
* を * に置換する方法はありませんか?よろしくお願いします。
C:\>sample.bat "dir\/:?<>|"test"
==================================================
@echo off
setlocal
set dir_name=%1
set dir_name=%dir_name:\=¥%
set dir_name=%dir_name:/=/%
set dir_name=%dir_name::=:%
set dir_name=%dir_name:?=?%
set dir_name=%dir_name:<=<%
set dir_name=%dir_name:>=>%
set dir_name=%dir_name:|=|%
set dir_name=%dir_name:"=”%
set dir_name=%dir_name:~1,-1%
mkdir "C:\%dir_name%"
==================================================
C:\>dir
2011/05/10 22:45 <DIR> dir¥/:?<>|”test
0552名無し~3.EXE
2011/05/10(火) 23:47:34.27ID:BGdDMW0l最初の10行程度でいいので見る方法はないでしょうか?
0553名無し~3.EXE
2011/05/11(水) 02:15:03.54ID:cijUUQbAset "dir_name=%dir_name:*=*%"
でもだめ?ためしてないけど
>>552
more
0554名無し~3.EXE
2011/05/11(水) 05:54:41.46ID:cRdfPQu8set dir_name=a**b*c***e
set index=0
set out=
:loop
call set t=%%dir_name:~%index%,1%%
if "%t%"=="" goto :end
if "%t%"=="*" (
set out=%out%*
) else (
set out=%out%%t%
)
set /a index+=1
goto :loop
:end
echo %out%
0555名無し~3.EXE
2011/05/11(水) 14:18:14.26ID:e30TubL/0556551
2011/05/11(水) 23:32:32.40ID:7phbG/weダメみたいです
>>554
多分set系の質問で毎度お世話になっている方だと思いますが、ありがとうございます。
いつも高度な組み方で舌を巻いているのですが、今回のcall部分の動作がわかりません。
callが対象にとれるのは他のバッチファイルか、もしくは同じファイル内のサブルーチン(ラベル)
だと思っていたのですが、今回はそのいずれでも無いように見えます。
一体どういった原理でしょうか?
0557名無し~3.EXE
2011/05/12(木) 01:14:34.68ID:5cpccTMq多分人違いだし、回答してる奴は結構人数いると思うし
それにそんなに高度な代物じゃないのだが…
変数展開が2段階でなされるのでenabledelayedexpansionを
使わなくても遅延展開が可能になるところがいいのだけど
原理とか聞かれると弱いw
経験的に使っててソースとか出せんわ。
http://otnx.jp/CMD/index.php/call/?%A5%B3%A5%DE%A5%F3%A5%C9%CA%CC/call
この辺とか見りゃ一応は書いてあるけど、公式のヘルプとかその手の奴ってあるのかわからん。
0558名無し~3.EXE
2011/05/12(木) 14:44:56.86ID:iMJdLd8mmoreでもいいけど、プロパティで画面バッファを1000〜2000行にしとけば逆スクロールで見られる
0559551
2011/05/12(木) 18:36:53.53ID:IzWOSOP9callにこんな使い方があったなんて、目から鱗です。
こんな使い方ができるなら、if文の中で()を
含むsetコマンドを使うと構文エラーになる
恐れがあるのでいちいち外部サブルーチンに
callで飛ばしてからsetしてましたが、これでだいぶ
スマートに記述できます。ありがとうございます!
と思ったら、&(半角アンド)も引数で渡される
可能性があることを失念してました orz
&は""つきなら変数に格納できるんですが
前述の通り、フォルダ名に使用するのでこの方法も使えません。
再度質問で申し訳ないのですが、何かうまい方法はありませんか?
0560名無し~3.EXE
2011/05/12(木) 19:26:30.09ID:LErTZijl0561名無し~3.EXE
2011/05/13(金) 01:08:39.71ID:kUCy/KG/0563名無し~3.EXE
2011/05/13(金) 07:57:58.99ID:JjcdbuQQ0564名無し~3.EXE
2011/05/13(金) 08:14:54.01ID:dxRHMzGd○資格
このスレ的にはw
0565名無し~3.EXE
2011/05/13(金) 20:51:26.00ID:NAZVaB870566名無し~3.EXE
2011/05/13(金) 22:22:36.34ID:KrF4BoQE0567551
2011/05/14(土) 08:11:56.82ID:vQ4YR2pY今から新しく別のスクリプトやるならPowerShellもPerlもJavaScriptでも手間は変わらないけど、どれがいいんだろう。
0568名無し~3.EXE
2011/05/14(土) 14:20:39.32ID:HQ7w1xFoそもそもバッチファイルに&以降のパラメタは受け渡されてこないので。
(コマンドシェルの構文解析で&以前のコマンドと&以降のコマンドの2つに分離されてしまう
ということは、&以前のコマンドであるバッチスクリプトからはどうあがいても
&以降のコマンドを知るすべは無いと思われる)
入力方法を変えればいけるけど。(set /pかファイルから入力するとかすれば回避できる)
JavaScriptがWebページにも応用できて良いんじゃないか?
ただしWSH(cmd.exeから呼び出す)で使うんなら上記と同じことになるんで別のシェルを用意しないと。
まあ、俺は良くは知らないがどのシェル(Perlでも)でも入力に制限がつくんじゃないかな?
0569名無し~3.EXE
2011/05/14(土) 14:33:27.36ID:pQZ75ggQ>前述の通り、フォルダ名に使用するのでこの方法も使えません。
って話が良く分からないけど、""付けて引数を渡して、フォルダ名は""外して作ればいいんじゃなくて?
0570名無し~3.EXE
2011/05/14(土) 15:39:48.37ID:HQ7w1xFoもしかして>>551と>>554を組み合わせられないの?
それとも&は小文字にしたいの?
@echo off
set dir_name="%~1"
set dir_name=%dir_name:&=&%
call :2nd_step %dir_name%
set out="%out:&=&%"
echo %out%
mkdir c:\%out%
goto :eof
:2nd_step
set dir_name=%~1
set index=0
set out=
:loop
call set t=%%dir_name:~%index%,1%%
if "%t%"=="" goto :end
if "%t%"=="*" (
set out=%out%*
) else (
set out=%out%%t%
)
set /a index+=1
goto :loop
:end
0571名無し~3.EXE
2011/05/14(土) 21:23:39.65ID:iN5VGoJk0572名無し~3.EXE
2011/05/15(日) 22:44:32.57ID:FQFzH4nCipconfig /all | find "Default Gateway" | find "192.168.11.1"
が成功してたら処理続行、成功してなかったら(何も返ってこなかったら)exit
みたいなバッチを書きたいんですが。
0573名無し~3.EXE
2011/05/15(日) 22:50:21.60ID:CD6nL7GM||
0574名無し~3.EXE
2011/05/15(日) 22:52:33.37ID:BUUtILe00575572
2011/05/15(日) 22:56:59.06ID:FQFzH4nCerrorlevelで見れました。
ありがとうございました。
0576551
2011/05/17(火) 21:46:05.73ID:cdAPGdzLパスを""で括るとき、必ずしも一番前と後ろで括る必要が無いことを初めて知りました。
C:\>mkdir foo" "bar
C:\>dir
2011/05/17 21:25 <DIR> foo bar
これを使えばできるだろうと思いましたが、どうにもうまくいきません orz
フォルダ名に使えない(\/:*?"<>|)以外は、極力引数で渡された文字を
そのまま引き継ぎたいです。
なので半角&も、全角&に変換せずにそのままフォルダ名に使おうと考えています。
様々な文字が渡される可能性があるので、他にも半角スペースや()なんかも注意が必要だと思います。
目的を再度まとめると以下のような感じでしょうか。
[目的]
・sample.bat "文字列" の形で引数が渡されるので、その文字列を使ったフォルダを自動作成するバッチファイル
・フォルダ名に使えない(\/:*?"<>|)については、それぞれ近似の全角記号に置き換える
・上記のダメ文字以外は、極力元の文字や記号をフォルダ名に反映させる(半角&記号など)
一応自力で試行錯誤してみて、以下のようなバッチファイル作ってみたのですが
望み通りの動作になりません。特に"と、&や半角スペースが同時に使われている
場合などの処理が難しいです。バッチでうまいことやる方法は無いでしょうか?
0577551(分割 1/2)
2011/05/17(火) 21:53:30.09ID:cdAPGdzL正しく動作しません、あくまで参考です
C:\>C:\sample.bat "h ge|<a>bc"
==================================================
@echo off
call set char_nam="%~1"
echo 入力:%char_nam%
set char_nam=%char_nam:\=¥%
set char_nam=%char_nam:/=/%
set char_nam=%char_nam::=:%
set char_nam=%char_nam:?=?%
set char_nam=%char_nam:<=<%
set char_nam=%char_nam:>=>%
set char_nam=%char_nam:|=|%
set char_nam="%char_nam:"=”%"
set char_nam="%char_nam:~2,-2%"
set index=0
set out=
0578551(分割 2/2)
2011/05/17(火) 21:54:48.47ID:cdAPGdzLcall set t="%%char_nam:~%index%,1%%"
call set t=%%t:"=""%%
call set t=%%t:~1,-1%%
if %t%=="""" (
set out=%out%
)
if %t%=="" (
goto :end
) else if %t%=="*" (
set out=%out%*
) else if %t%=="&" (
set out=%out%"&"
) else if %t%==" " (
set out=%out%" "
) else (
set out=%out%%t:~1,-1%
)
echo out:%out%
set /a index+=1
goto :loop
:end
set out=%out:~2,-2%
set dir_nam=C:\%out%
echo ディレクトリ名:%dir_nam%
mkdir %dir_nam%
==================================================
0579551
2011/05/17(火) 21:56:11.22ID:cdAPGdzL2011/05/17 21:50 <DIR> h ge|<a>bc
C:\>C:\sample.bat "h ge&<a>bc"
( の使い方が誤っています。
思ったより長くなってしまいました。
お目汚しすいません。
0580名無し~3.EXE
2011/05/18(水) 00:13:34.09ID:OxvdWdxe>>570ではどこがダメだったの?
@echo off
set dir_name="%~1"
if %dir_name%=="" echo パラメタを指定してください&goto :eof
set dir_name=%dir_name:\=¥%
set dir_name=%dir_name:/=/%
set dir_name=%dir_name::=:%
set dir_name=%dir_name:?=?%
set dir_name=%dir_name:<=<%
set dir_name=%dir_name:>=>%
set dir_name=%dir_name:|=|%
set dir_name=%dir_name:&=&のバ カ%
call :2nd_step %dir_name%
set out=%out:"=”%
set out="%out:&のバ カ=&%"
echo %out%
mkdir c:\%out%
goto :eof
:2nd_step
set dir_name=%~1
set index=0
set out=
:loop
call set t=%%dir_name:~%index%,1%%
if "%t%"=="" exit /b
if "%t%"=="*" (set out=%out%*) else (set out=%out%%t%)
set /a index+=1
goto :loop
0581名無し~3.EXE
2011/05/18(水) 03:02:56.72ID:OxvdWdxeさらにいろいろな場合にまずいな。
順番をちょっと変えて最初の方にもっていけば入力できた場合は多分大丈夫だろう
case1: 入力できない場合は対処不可
"h ge&"<a" NG
case 2: パラメタ無しの判定もまずかった。
"a"b" NG
case 3: あと、^<(^>)の入力時もまずい。
"a^<b" NG
次にcase1はどうしようもないが、case 2,3の修正版をあげておく
0582名無し~3.EXE
2011/05/18(水) 03:03:58.42ID:OxvdWdxeset dir_name=%1
if not defined dir_name echo パラメタを指定してください&goto :eof
set dir_name=%dir_name:&=&のバ カ%
set dir_name="%dir_name:"=”%"
set dir_name="%dir_name:~1,-1%"
set dir_name=%dir_name:\=¥%
set dir_name=%dir_name:/=/%
set dir_name=%dir_name::=:%
set dir_name=%dir_name:?=?%
set dir_name=%dir_name:<=<%
set dir_name=%dir_name:>=>%
set dir_name=%dir_name:|=|%
set dir_name=%dir_name:^=^のバ カ%
call :2nd_step %dir_name%
set out="%out:&のバ カ=&%"
set out=%out:^のバ カ=^%
echo %out%
mkdir c:\%out%
goto :eof
:2nd_step
set dir_name=%~1
set index=0
set out=
:loop
call set t=%%dir_name:~%index%,1%%
if "%t%"=="" exit /b
if "%t%"=="*" (set out=%out%*) else (set out=%out%%t%)
set /a index+=1
goto :loop
0583名無し~3.EXE
2011/05/18(水) 03:13:38.96ID:OxvdWdxeこれ無意味だった。
さらに全角の”が両端に付くがまずけりゃcall 2nd_stepから帰ってきたあと
&と^を半角に戻す前に判定して取っちゃえ。
ちなみに&と^を一旦別文字列に置き換えてるが、これはおよそ入力しそうにない文字列に
しとけば実用上問題ないだろう。
0584名無し~3.EXE
2011/05/18(水) 22:55:01.05ID:+ThlMx5fset dir_name=%dir_name:>=>%
set dir_name=%dir_name:|=|%
set dir_name=%dir_name:&=&%
はset "...=..."でエスケープせんとあかんのじゃなかろか
set "dir_name=%dir_name:<=<%"
0585551
2011/05/19(木) 00:34:36.79ID:ph4ezJMKありがとうございます。おかげさまで一応の目途が立ちました。
流石にあらゆるケースに、バッチだけで対応するのは難しいですね。
まぁ " 自体の発生頻度は少ない見込みですし、その他 & や | 記号と
同時に発生する確率はほとんどないハズなので、実用上は問題ないと思います。
それでもダメだった場合は、潔くあきらめて半角&は全角&に置換するようにします。ちなみに
set dir_name="%dir_name:~1,-1%"
の部分を、思いつきで
set dir_name="%dir_name:~2,-2%"
に変更したらなぜかうまく両端の全角”が外せました(動作も問題ないように見えます)。
原理は分かりません。
>>584
精査してないですが、試してみたところうちでは正しく動作しなくなりました。
0586名無し~3.EXE
2011/05/19(木) 00:59:05.21ID:ydoAvGENset dir_name="%dir_name:~1,-1%"
これは無意味なステートメントだが、この時点では、dir_name="”〜”"の状態となってるので。
わざと両端の""を全角で残したのにはパラメタが""付きでない場合や"のみの場合も考慮したから。
例
abc"&< "def
""
"
など。
なので全角の”をとるのなら>>583でアドバイスしたタイミング(callの直前でもいい)を薦める。
また無条件に取るんじゃなく全角の”であることをチェックしてから取るように。
さらに最初に""や"の場合、パラメタなしと判定することも必要になってくる。
0587名無し~3.EXE
2011/05/19(木) 01:08:58.94ID:ydoAvGEN例
"abc"&def"
"abc"<def"
0588名無し~3.EXE
2011/05/19(木) 17:32:27.52ID:ydoAvGENset /p chars=新規フォルダ名を指定してください :
rem set /p chars=<"parm.txt"
if not defined chars echo 何か指定してください&goto :eof
set chars="%chars:"=”%"
if %chars%=="”" echo 何か指定してください&goto :eof
if %chars%=="””" echo 何か指定してください&goto :eof
if "%chars:~1,1%"=="”" set chars="%chars:~2%
if "%chars:~-2,1%"=="”" set chars=%chars:~0,-2%"
set chk_spc_only=%chars: =%
if %chk_spc_only%=="" echo 何か指定してください&goto :eof
set chars=%chars:\=¥%
set chars=%chars:/=/%
set chars=%chars::=:%
set chars=%chars:?=?%
set chars=%chars:<=<%
set chars=%chars:>=>%
set chars=%chars:|=|%
set chars=+%chars%
set out=
:loop
set chars="%chars:~2%
if %chars%=="" set out="%out:"=%"& goto next
if "%chars:~1,1%"=="&" set out=%out%"&"& goto loop
if "%chars:~1,1%"=="^" set out=%out%"^"& goto loop
if "%chars:~1,1%"=="(" set out=%out%"("& goto loop
if "%chars:~1,1%"==")" set out=%out%")"& goto loop
if "%chars:~1,1%"=="*" (set out=%out%*) else (set out=%out%%chars:~1,1%)
goto :loop
:next
echo %out%
mkdir c:\%out%
0589名無し~3.EXE
2011/05/19(木) 17:37:49.55ID:ydoAvGENパラメタの受け渡し方を変えると、かなり入力できるようになった。
""で括ってなくても、多分どのような文字列も大丈夫。
例
a&b^|c)>d" <e
など
0590名無し~3.EXE
2011/05/19(木) 20:04:59.96ID:awzZy/s40591名無し~3.EXE
2011/05/19(木) 20:25:40.58ID:oE2o78vn0592名無し~3.EXE
2011/05/19(木) 23:21:43.83ID:AHUx1fjJPS って言うと PostScript のことかと思っただろ!!
0593名無し~3.EXE
2011/05/20(金) 07:31:35.62ID:6QTPIQ/IPSN
0594名無し~3.EXE
2011/05/21(土) 04:02:40.61ID:ldRm9oSy結果から言うと確かに簡単だったが1から勉強した身には結構大変だった。(何時間も掛かった)
検索してみても、いろんなバージョンのJavaScriptがあって、WSHでなくHTAだったりして頭が混乱したよ。
以下実行結果(StdInを使ったのでcscriptじゃないと動作しない。wscriptはダメ)
Z:\>cscript //nologo sample.js <list.txt
sample: ヌル、又は空白.(ピリオド)のみは指定できません
sample: "com0"は予約文字列です
OK. "z:\h ge&<a>bc"
OK. "z:\a < ”bcd” *:&(¥)"
OK. "z:\abc"
sample: "z:\abc" 既に同名のファイルが存在しています。
Z:\>echo abc| cscript //nologo sample.js
sample: "z:\abc" 既に同名のファイルが存在しています。
Z:\>
--list.txtの内容--
..
com0 .txt. ..
h ge&<a>bc
a < "bcd" *:&(\)
"abc"
abc . . .
---------------
0595名無し~3.EXE
2011/05/21(土) 04:03:26.22ID:ldRm9oSyvar stdin=WScript.StdIn, arg = WScript.arguments;
var fs = new ActiveXObject("Scripting.FileSystemObject");
var rc=0;
while(!stdin.AtEndOfStream) {
try{
var out = stdin.ReadLine().replace(/^"|"$/g,"");
var out = drivename + chk_fname(out.replace(/[.\s]+$/g, "")) //後方空白削除(前後空白削除の場合は/^\s+|[.\s]+$/g)
fs.CreateFolder(out); // 自前でfs.FolderExists(out)で存在チェックしても良い
WScript.Echo('OK. "'+out+'"');
} catch(e) {
rc=999;
WScript.StdErr.Write(WScript.ScriptName.replace(/\.[^.]*$/,"") + ": ");
switch(e) {
case "E_spc_only" : WScript.StdErr.Write('ヌル、又は空白.(ピリオド)のみは指定できません\n');break;
case "E_reserved" : WScript.StdErr.Write('"' + out.replace(/\s*\..*$/,"") + '"は予約文字列です\n');break;
default : WScript.StdErr.Write('"' + out + '" ' + e.description + '\n');
}
}
}
WScript.Quit(rc);
function chk_fname(s) {
var invalid_chars = {'<':'<','>':'>','*':'*', '"':'”', '?':'?', '\\':'¥', '/':'/', '|':'|', ':':':' };
var reserved_strs = new Array( "CON", "AUX", "NUL", "PRN", "COM[0-4]", "LPT[0-3]" );
if (s.replace(/[. ]/g, "")=="") throw "E_spc_only";
for (var i in reserved_strs) {
if (s.replace(/\s*\..*$/,"").replace(new RegExp(reserved_strs[i],"i"),"")=="") throw "E_reserved";
}
return s.replace(/[|:/<>*"?\\]/g, function (w){return invalid_chars[w];});
}
0596551
2011/05/31(火) 00:09:15.39ID:mdi5oQEJまたもお返事遅くなすいません、どうもありがとうございます。
当該機能の部分を本チャンのバッチにマージして、一週間ほど
経過を見てみたのですが、どうにかまともに機能するようになったようです。
追加で示していただいたset /pを使う方法も、ファイルを経由する
やり方であれば選択肢として有り得たのですが、できれば引数で渡したかったので
結果として元の方法に、両端””を対処する処理を加える形で落ち着きました。
>>587に挙げていただいたようなトラブルは現実的には発生しないと考えています。
それよりも、""の扱い方が変わった(両端だけの使い方でなくなった)ので
そのために全部手動で修正した作業が大変でした。
今時PowerShellが動かないOSに新機能を追加するケースはそう無さそうですし
DOSブート環境で使える処理を組みたいとかでない限り、バッチファイルを
掘り下げて習得していく意義は薄いのかもしれませんね。
それでも私なんかは、過去の資産に縛られて泥沼に嵌っていってますが・・・
それと、お教えいただいたサンプルコードは他の場所に転載したり
アーカイブさせていただいてもよろしいでしょうか?
0597名無し~3.EXE
2011/05/31(火) 00:41:01.35ID:wKPKEtoyスクリプトコードは何処へなりとも自由に持っていってもらって結構ですよ。
ちなみにBATでの最終形>>588は両端の"も取るし受け渡されたどの文字列も大丈夫だと思う。
set /pをパラメタ渡しに変えるだけで良いだろう。(>>587の制限はできるが)
ちなみに、set /pだとパイプでパラメタ受け渡しができる。(>>595と同様にフィルタ動作をする)
例 echo "abc"|sample.bat や type data.txt|sample.bat
なお>>595はWSHの習作なんで行儀の悪いことになっていた。まあ使わないとは思うが一応注意を。
(使ったオブジェクトを開放し忘れてる)
なお、DOSでのBATは似て非なるものでここで使ったようなテクニックはほぼ全て使えないんだなあ。
0598551
2011/06/01(水) 00:00:36.95ID:AfdclPhS重ね重ねありがとうございます。
パイプで渡す場合でも、引数と同じように>>587の制限が
生じてしまうとのことで、かえって割り切れました。
DOSへの応用範囲も狭いとなると、後はもう殆ど意地ですねw
コードは今すぐどこかに転載するといった算段ではありませんが
今後も活用させていただきます。ありがとうございました。
0599名無し~3.EXE
2011/06/05(日) 15:50:03.34ID:yhEiQsQiUNCパスってなに? うんこ?
0600名無し~3.EXE
2011/06/05(日) 16:10:22.82ID:rXbO9qcf分かったかウンコ
0601名無し~3.EXE
2011/06/05(日) 16:50:25.39ID:yhEiQsQi0602名無し~3.EXE
2011/06/05(日) 18:39:50.14ID:Zerct+oF0603名無し~3.EXE
2011/06/06(月) 01:16:02.61ID:TdZrxGMI0604名無し~3.EXE
2011/06/06(月) 01:52:29.27ID:CZbmeqot0605名無し~3.EXE
2011/06/08(水) 23:22:22.38ID:yE/jf+js0608名無し~3.EXE
2011/07/13(水) 13:07:00.93ID:0zcACgIPなんとかこれを高速にコピーする方法は無いかと探しています。
今はxcopyを使っていますが、もっと良い方法は無いでしょうか?
0609名無し~3.EXE
2011/07/13(水) 13:15:44.72ID:Gf0fORp20610名無し~3.EXE
2011/07/13(水) 13:54:36.75ID:CjocHXVIttp://www.google.co.jp/search?source=ig&hl=ja&rlz=&=&q=%E9%AB%98%E9%80%9F+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E3%82%B3%E3%83%94%E3%83%BC&aq=1cr&aqi=g-r1g-cr1g1g-r1g-m6&aql=&oq=%E9%AB%98%E9%80%9F+%E3%82%B3%E3%83%94%E3%83%BC
0611名無し~3.EXE
2011/07/14(木) 01:26:08.50ID:MBHQqw7l↓見ると「再起動可能モード」の他に「バックアップモード」があるというのは分かったけど。
http://support.microsoft.com/kb/950790/ja
「バックアップモード」のほうはユーザー権利の「ファイルとディレクトリのバックアップ」や
「ファイルとディレクトリの復元」が有効になるってのはなんとなく分かったけど、
「再起動可能モード」のほうは、ネットワーク経由のコピーのときに有効なモードのようだけど
具体的には何なんだか全然よく分かんない。。。
0612名無し~3.EXE
2011/08/11(木) 20:17:50.94ID:z/fkZ+S/このバッチがどういう仕組みで動作してるのかアホにもわかるように解説してもらえんですか
ttp://scripting.cocolog-nifty.com/blog/2007/05/tee_0423.html
とりあえずパイプによる標準入出力について今さらググってみて
「バッチへのリダイレクションによるデータ入力は、バッチ内で最初に標準入力を使用するコマンドへの入力となる」
(ttp://www.ne.jp/asahi/hishidama/home/tech/windows/bat.html#stdin)
てことを初めて知って、どうやら9行目のmoreで受け取ってるっぽいなとなんとなく想像してるんだけど
それ以外全然理解できないボスケテー
0613名無し~3.EXE
2011/08/13(土) 05:26:29.86ID:Dj1yFRZf0614612
2011/08/13(土) 21:09:09.70ID:CYdSlQApなどと意味不明なことを言いつつごちゃごちゃやってるうちになんか見えてきたような気がする
書き込みアクセスしてるファイルに対して別プロセスで書き込もうとするとエラーになるけど
読み込みはできるって仕様になってるのを利用してるってことなのかな
しかしこの8・9行目の処理って初心者的に目から鱗すぎる
0615名無し~3.EXE
2011/08/13(土) 22:01:36.02ID:Dj1yFRZf0616名無し~3.EXE
2011/08/14(日) 16:24:20.80ID:ihVTTdCjC:\temp>prompt $t$s$p$g
13:37:57.40 C:\>for /l %A in (1,1,10)do find 2> nil
13:38:00.67 C:\>find 2>nil
13:38:01.01 C:\>find 2>nil
<略>
13:38:03.71 C:\>find 2>nil
13:38:04.04 C:\>
エラーになるだけのfindコマンドの実行1回あたり0.34秒ほどかかります。dirやdate /tなどは早いのですが
findやfcなどの外部コマンドが遅いようです。
マシンはLenovo X200sでXP SP3です。低スペックのR51eでは10倍ほど早いので、遅くなる要因があるものと思います
テスト時CPUの負荷などは最低限です。antivirusやfirewallを切ると1秒ほど改善しますが、大きな要因が他にあると思います。
原因を調べる方法はありますでしょうか?みなさんのPCではパフォーマンスはいかほどでしょうか?
0617名無し~3.EXE
2011/08/14(日) 17:07:33.34ID:a3JFdokN0620名無し~3.EXE
2011/08/16(火) 00:03:15.86ID:BPczii+wset path=%systemroot%
を実行してから試してみて欲しい。
0621名無し~3.EXE
2011/08/20(土) 14:42:15.09ID:bFmEIStu具体的には、”AABBCC100%.txt”と言うファイルをmoveやren
しようとしても上手く行きません。””でパス&ファイル名をくくっても同様です。
例:D:\test\aabbccdd 100%.txt を F:\DATA\08\へ移動したい
┌─────────────────────────────┐
│D:\test > move /Y "D:\test\aabbccdd 100%.txt" "F:\\DATA\08\"
│
│
│D:\test > move /Y "D:\test\abcde 100\DATA\08\"
│指定されたパスが見つかりません。
│
%の箇所で可笑しくなっています。%付きのファイルが沢山有って
手作業で%(全角)に変更するのも現実的ではありませんし、
リネームソフトで変更より、まずは一旦コマンドプロンプトで解決できる
方法をお教え下さいませ。
0622名無し~3.EXE
2011/08/20(土) 15:02:30.60ID:eMW2GM3K「指定されたパスが見つかりません」がtarget側にかかっているように見えるのは気のせい?
>move /Y "D:\test\aabbccdd 100%.txt" "F:\\DATA\08\"
move /y "D:\test\aabbccdd 100%.txt" F:\DATA\08\ でもダメですか?
#手元の環境では二重引用符で括るだけで問題なく動作します。
0623名無し~3.EXE
2011/08/20(土) 15:04:39.48ID:SjWiWNqxバッチ内なら%%
0624名無し~3.EXE
2011/08/20(土) 15:32:36.74ID:bFmEIStu有り難うございました。100%%で解決いたしました。
正規表現のメタキャラみたいな扱いなのでしょうか?
ほかの文字もあるのか、もう少し勉強し直してきます。
助かりました。
0625622
2011/08/20(土) 15:38:08.00ID:ZtdU7YRiあぁ、バッチでの記述だったんだね(>>621では言及されてなかったけど)。
バッチだと%は変数のために予約されているんで、リテラルの%は%%で記述。
0626名無し~3.EXE
2011/08/26(金) 09:59:56.85ID:07hasJ0+※落ちたように見えるスレは、ブラウザなどで1回書き込めば
スレリストに復活、専ブラ等でも書き込み可能に。
0627名無し~3.EXE
2011/09/19(月) 20:44:45.01ID:2pOzoyXRこれをフォルダ内のファイルを一括で処理するように改造する方法を教えてください
@echo off
SETLOCAL
SET SPath="D:\ICEECC\ICEECC.exe"
SET SParam1=c
SET SParam2=/b1024
SET SParam3=/r2
SET SParam4=D:\ECC
:start
IF "%~1"=="" GOTO syoriend
:syori
%SPath% %SParam1% %SParam2% %SParam3% "%SParam4%\[ECC] %~n1%~x1.ecc" "%~n1%~x1"
:next
SHIFT
GOTO start
:syoriend
rem ↓pause不要なら削除
pause
ENDLOCAL
0628名無し~3.EXE
2011/09/19(月) 21:54:35.30ID:RwWOOKaxfor /f %%I in (%*) do %SPath% %SParam1% %SParam2% %SParam3% "%SParam4%\[ECC] %%~nxI.ecc" "%%~nxI"
フォルダ
for /f %%I in (*.*) do %SPath% %SParam1% %SParam2% %SParam3% "%SParam4%\[ECC] %%~nxI.ecc" "%%~nxI"
0629名無し~3.EXE
2011/09/19(月) 21:55:38.52ID:RwWOOKax0631名無し~3.EXE
2011/09/22(木) 15:08:44.24ID:OBFRVs3h0632名無し~3.EXE
2011/09/22(木) 15:34:21.37ID:dDDr9Qq2そんなもの。GUIのタスクスケジューラでも時分までしか設定できないんだから仕方ないだろ。
0633名無し~3.EXE
2011/09/22(木) 18:43:08.33ID:u20l0LSl0634名無し~3.EXE
2011/09/23(金) 15:45:10.63ID:SWICmH790635名無し~3.EXE
2011/11/09(水) 18:52:01.56ID:y4E29ingcmd.exeの起動オプションかバッチファイル内で同等の指定をする方法はあるのでしょうか?
ご存知の方がいましたら教えて欲しいです。よろしくお願いします。
0636名無し~3.EXE
2011/11/09(水) 19:07:40.97ID:OD6GvI9M0638名無し~3.EXE
2011/11/12(土) 08:50:42.69ID:1vH/LxN0open ホスト名 80
って打っても、2秒ぐらいした後にバグって入力のバーがコマンドプロンプトの左上(最初の位置)に戻るんですが、
これはバグですか?
7でやっても別のPCのXPでやってもこうなりました。
そのままGETコマンドとか打っても受け付けてはくれるんですが、見にくくてしかたありません。
0640名無し~3.EXE
2011/11/18(金) 20:51:02.21ID:pxVyOoVaこまったアル
2.5.1
0641名無し~3.EXE
2011/11/18(金) 21:12:14.79ID:Dyiu+uA+http://www.kt.rim.or.jp/~kbk/yagrep/index.html
0642名無し~3.EXE
2011/11/18(金) 23:25:45.26ID:CC6V9VYvありがとうございます。
findstr というツ−ルもあるようですが、たしかどっかに問題があった。
0643名無し~3.EXE
2011/11/19(土) 00:05:46.04ID:zaMlMwTR0644名無し~3.EXE
2011/11/21(月) 15:00:00.60ID:ngKnsBjWマウスを使わずにキーボードで貼り付けるショートカットってありませんか?
0645名無し~3.EXE
2011/11/21(月) 15:12:34.21ID:lBNK4PnM0646名無し~3.EXE
2011/11/23(水) 05:35:55.96ID:nwtiGPYP魂は幾何学、コピー出来る公安はサリンオウム信者の子供を40歳まで社会から隔離している
オウム信者が地方で現在も潜伏している
それは新興宗教を配下とする公安(慶應卒T)の仕事だ発案で盗聴器を開発したら霊魂が寄って呼ぶ来た
<電波憑依>
スピリチャル全否定なら江原三輪氏、高橋佳子大川隆法氏は、幻聴で強制入院矛盾する日本宗教と精神科
<コードレス盗聴>
2004既に国民20%被害250〜700台数中国工作員3〜7000万円2005ソウルコピー2010ソウルイン医者アカギ絡む<盗聴証拠>
今年5月に日本の警視庁防課は被害者SDカード15分を保持した有る国民に出せ!!<創価幹部>
キタオカ1962年東北生は二十代で2人の女性をレイプ殺害して入信した創価本尊はこれだけで潰せる<<<韓国工作員鸛<<<創価公明党 <テロ装置>>東芝部品)>>ヤクザ<宗教<同和<<公安<<魂複<<官憲>日本終Googl検索
0647名無し~3.EXE
2011/11/24(木) 02:17:34.51ID:2V91NEL2キーボードじゃなくてスマンが
プロパティのオプションタブで簡易挿入モードをONにすると
マウスの右クリックだけで貼り付けられるよ。
0648名無し~3.EXE
2011/11/24(木) 02:19:58.34ID:2V91NEL20649名無し~3.EXE
2011/11/25(金) 00:49:12.77ID:ujh3KFvf0650名無し~3.EXE
2011/11/25(金) 01:12:14.11ID:mEbPOXRQ0651名無し~3.EXE
2011/11/25(金) 02:10:16.55ID:ujh3KFvfWin7のAPPDATA内のSleipnirお気に入りを別の場所にコピーするバッチ作りたいんだけど…
xcopy で/Hってやってもダメなんだけど必要なオプションとかある?
0652名無し~3.EXE
2011/11/25(金) 02:40:27.85ID:mEbPOXRQ0653名無し~3.EXE
2011/11/25(金) 02:42:45.10ID:mEbPOXRQ>md aaa
>echo >aaa\aaaaa
>attrib +h aaa
>copy aaa\aaaaa
1 個のファイルをコピーしました。
0654名無し~3.EXE
2011/11/25(金) 02:50:59.27ID:iDpkqVLxC:\Users\<ユーザー名>\AppData\Roaming\Fenrir & Co\Sleipnir
の下に
Favorite.ffv(お気に入り)、
FavoriteGroup.ffg(お気に入りグループ)
の2つのファイルがあるそうだ。
xcopy使うまでもなくただのcopyで良いと思うけど、
問題ありそうなのはフォルダ指定じゃないのか?
(半角空白があるけど""で括ってないとか)
一度エラーになったbatをさらしてみたら?
0655649
2011/11/27(日) 00:22:34.36ID:1krBEMlRありがとう、出来たよ!
原因はパスだった。
隠しフォルダにアクセス出来ないんじゃなくてパスが間違ってた。
Sleipnir2.* とSleipnir3はAPPDATA内のパスが違うみたい。
0656名無し~3.EXE
2011/12/20(火) 20:10:37.38ID:kZtmw/odDSAS開発者の部屋:シェルスクリプトで標準入力を加工する際の注意点
ttp://dsas.blog.klab.org/archives/51060184.html
これと同じことWindowsで実現する方法ってないかなぁ
0657名無し~3.EXE
2011/12/21(水) 15:09:10.69ID:LATDZEHO0658名無し~3.EXE
2012/01/10(火) 09:22:57.61ID:IzsMUOFehttp://awabi.2ch.net/test/read.cgi/poverty/1326153783/l50
0659名無し~3.EXE
2012/01/20(金) 20:09:35.34ID:hAB3eePXフォルダ内のすべてのファイルのファイル名を
頭三文字を削除したファイル名にリネームしたいのですがどのようにしたらよいでしょうか?
例
リネーム前
01_ほげ.txt
02_hoge.bmp
リネーム後
ほげ.txt
hoge.bmp
0660名無し~3.EXE
2012/01/20(金) 20:32:11.97ID:UaxaTE600661名無し~3.EXE
2012/01/20(金) 20:55:17.28ID:hAB3eePXありがとうございます。
目的の作業が出来ました。
ただバッチファイルやリネームしたくないファイルもリネームされてしまうので
ファイル名の一文字目が数字の場合のみリネームするように改造できますか?
0662名無し~3.EXE
2012/01/20(金) 21:20:55.24ID:UaxaTE60for %%i in (??_*) do (set "x=%%i") & call ren "%%i" "%%x:~3%%"
0664名無し~3.EXE
2012/01/24(火) 03:52:12.29ID:QJ/7ug6oecho This system is
echo running on NT technology.
) else (
echo This system is NOT
echo running on NT technology.
)
上記の記述だと問題はないけれど,
環境変数中に「()」が含まれる場合,エラーになるのだけれど回避する方法はあるのかいな
0665名無し~3.EXE
2012/01/24(火) 14:10:54.54ID:dHRJwv6C0666名無し~3.EXE
2012/01/24(火) 15:35:45.64ID:QJ/7ug6o「if...()」で囲まれるブロック中の環境変数に()が含まれる場合だった。
0667名無し~3.EXE
2012/01/24(火) 16:16:54.11ID:4k51VPeEそれじゃあ困るんだよ !って言われても僕には分かりません
set string=^^(ab^^)c
echo %string%
if "%~1" == "" (
if "%string%" == "^(ab^)c" echo equal
echo %string%
echo .
)
0668名無し~3.EXE
2012/01/24(火) 16:48:53.45ID:DUAeQj0mまたは
!遅延展開!
0669名無し~3.EXE
2012/01/25(水) 01:24:48.79ID:QAFBVQGR0670名無し~3.EXE
2012/01/25(水) 02:45:35.27ID:FwrcBzZe0671名無し~3.EXE
2012/01/28(土) 14:19:04.24ID:PD0QOKOkツイートの改行方法が分かりません。
winのコマンドで文字列を改行するのはどうしたらいいんでしょうか?
0672名無し~3.EXE
2012/01/28(土) 14:45:58.28ID:Q0fjclzs削除したいのですがバッチファイルの記述など教えていただけませんでしょうか?
ゴミ箱にいれずに直接削除できたら便利なのですが
batファイルをファイル名を指定して実行から起動しようと思っています
ccleanerなどで削除するのをもっと手軽に出来たらなと思いまして
よろしくお願いします。
0673名無し~3.EXE
2012/01/28(土) 17:08:29.98ID:rYMqbgzQ0675名無し~3.EXE
2012/01/28(土) 23:07:36.02ID:Q0fjclzsファイル名を指定して実行する事が出来ない・・
.likだからだろうけど ちょっとだけ残念
0676名無し~3.EXE
2012/01/28(土) 23:12:31.27ID:rYMqbgzQ0677名無し~3.EXE
2012/01/28(土) 23:22:07.68ID:Q0fjclzsファイル名変更もだめなのかな
リンクつけるとファイルノプロパティが開いてしまうんです。
あれ、もしかしてキャッシュのパスかえたからおかしくなったのかも・・
ちょっと試行錯誤してきます
0678名無し~3.EXE
2012/01/29(日) 22:31:12.30ID:TFEJcwTs0679名無し~3.EXE
2012/02/21(火) 13:09:31.60ID:0LZ9ETD9WindowsXP質問スレ 212ページ目
http://toro.2ch.net/test/read.cgi/win/1323269626/548
548 名前:名無し~3.EXE[sage] 投稿日:2012/02/21(火) 12:11:40.50 ID:0LZ9ETD9
dosのバッチファイルで「あるコマンド実行後0.5秒休止」をループで繰り返したいときには
どうバッチファイルを記述すればよいのでしょうか?ループの中でコマンドを二回する方法がわかりません。
また休止コマンドは「ping localhost」を使えと言われたのですが・・
FOR %%F IN (*.拡張子) DO コマンド 0.5秒休止 %%F
0680名無し~3.EXE
2012/02/21(火) 13:59:19.42ID:6vXLOlLc0681名無し~3.EXE
2012/02/21(火) 14:37:30.15ID:KhHOee+Ysleep [-m] time-to-sleep-in-milliseconds
0682名無し~3.EXE
2012/02/21(火) 14:40:29.46ID:KhHOee+Y[-r ホップ数] [-s ホップ数] [[-j ホスト一覧] | [-k ホスト一覧]]
[-w タイムアウト] [-R] [-S ソースアドレス] [-4] [-6] ターゲット名
オプション:
-n 要求数 送信するエコー要求の数です。
-w タイムアウト
応答を待つタイムアウトの時間 (ミリ秒) です。
0683名無し~3.EXE
2012/02/21(火) 15:15:55.79ID:CXufj1to0684名無し~3.EXE
2012/02/25(土) 23:36:19.58ID:yy3S+6gu>>680
>>681
Batch file SLEEP Command - Windows XP and DOS
http://malektips.com/xp_dos_0002.html
Windows Server 2003 ツール
http://technet.microsoft.com/ja-jp/windowsserver/bb405955.aspx
物が単純なだけに亜種がやたらとあるから適当に検索して片っ端から試すというのもアリかもw
0685名無し~3.EXE
2012/02/27(月) 01:27:01.87ID:LCTL9xSY0686名無し~3.EXE
2012/02/27(月) 01:31:07.14ID:QV8Wxsa00688名無し~3.EXE
2012/03/15(木) 00:56:50.19ID:TshG/fxv0689名無し~3.EXE
2012/04/14(土) 20:29:56.42ID:di3PQnSS"でくくっても正常に表示されないのですがどうしたらいいんでしょうか?
ドラッグ&ドロップしたファイル名 「a #01.gl」
echo %1
echo "%1"
pause
C:\>echo C:\a
C:\a
C:\>echo "C:\a"
"C:\a"
C:\>pause
0690名無し~3.EXE
2012/04/14(土) 20:32:04.23ID:zSF5e4bHecho "%*"
0691名無し~3.EXE
2012/04/14(土) 20:53:13.51ID:di3PQnSSありがとうございます。
スペースが、あったり、なかったりする、複数ファイルを扱うことはできないんでしょうか?
0692名無し~3.EXE
2012/04/14(土) 21:14:54.00ID:sMJPc4zeD&Dをエクスプローラ以外のファイラーでやってない?
エクスプローラではスペースあっても""でくくられているので %1 で問題ないのだが
ファイラーによってはくくられずにスペースで分割されてしまう。
0693名無し~3.EXE
2012/04/14(土) 21:18:50.46ID:fOvpJLhU全角スペースじゃなく半角スペースならいけるはず。
コマンドプロンプトだけじゃなく他のプログラムでも問題を起こす場合があるから
ファイル名の全角スペースはできるだけ避けた方が無難かと。
0694名無し~3.EXE
2012/04/14(土) 21:43:35.18ID:di3PQnSS>>692
windows7で普通にドラッグ&ドロップしているだけなんですが・・・
>>692
他のソフト(TvRock)で自動に作られてしまうのでどうしようも・・・
自動でスペース消したりする方法とかありますかね?
0695名無し~3.EXE
2012/04/14(土) 22:19:03.34ID:fOvpJLhUリネームツールを使えば簡単に変更できるはずだけど
このスレ的にやるなら↓こんなん?
正直あんまり自信ないから
もし使うなら空のテキストファイルあたりに同じファイル名を付けて
ちゃんとリネームされるかどうか確認してからの方がいいと思う。
::実行ディレクトリ内にあるファイル名の全角スペースを半角スペースに置換する
::全角スペースを含むファイルをリネーム処理に送る
for /f "delims=" %%a in ('dir /a:-d /b "* *"') do call :sub "%%a"
::終了処理へジャンプ
goto :eof
::リネーム処理
:sub
set f=%1
ren %f% %f: = %
::終了処理
:eof
0697名無し~3.EXE
2012/04/14(土) 23:53:31.02ID:zSF5e4bH0698名無し~3.EXE
2012/04/15(日) 01:15:17.41ID:JtiIA/U/長年コマンドプロンプト使ってるつもりだったけどぜんぜん気付いてなかった
勉強になった
0699名無し~3.EXE
2012/04/15(日) 01:18:57.23ID:WF4W96cn0700名無し~3.EXE
2012/04/17(火) 00:54:04.23ID:FGe60Pe5ファイル名の全角スペースと半角スペースをアンダーバーに変えたいのですが、
バッチファイルにD&Dだけで、
しているのですが、以下を2回かけるしかないのでしょうか?
2つの条件でrenや、renした後のものを確認できますか?
(2つとも可能なのでしたらやり方も教えていただけるとありがたいです。)
for %%a in (%*) do call :sub %%a
goto :eof
:sub
set f=%~nx1
echo %f%
ren "%f%" "%f: =_%"
ren "%f%" "%f: =_%"
:eof
0701名無し~3.EXE
2012/04/17(火) 05:10:55.09ID:Gava50qZ0702名無し~3.EXE
2012/04/17(火) 05:21:09.19ID:rxVaCTrW一応、半角スペースのフォルダに置かなくても以下のようにすれば大丈夫じゃないかな?
@echo off
set pname=%*
if not defined pname echo ファイル名を指定してください&pause&&goto :eof
set pname="%pname:"=%"
call :sub %pname%
echo 置換:^<%r%^> %pname% ===^> %fname%
rem if %r% equ ON if exist %dir%%fname% echo 既存ファイルがあって置換できない
ren %pname% %fname%
pause
goto :eof
:sub
set dir="%~dp1"
set f="%~nx1"
set fname=%f: =_%
set fname=%fname: =_%
if %f% neq %fname% (set r=ON) else (set r=OFF)
goto :eof
0703名無し~3.EXE
2012/04/17(火) 10:36:12.10ID:3+X2uaPe""でくくらないとボロボロだろそれ
0704名無し~3.EXE
2012/04/17(火) 16:05:55.18ID:BY2k4WaOそもそもの原因は「全角スペースに対して自動的に""が付加されない」ことにある。
変数をそのままくくっちゃうと、全角スペースだけの場合は正常に動くけど
半角スペースを含んでいる場合は「""C:\ho ge\ho ge.avi""」となって失敗する。
>>702では一旦「"」を置換処理で除去してからくくってるみたいだから
どのケースでも問題なく動くと思う。
0705名無し~3.EXE
2012/04/17(火) 17:29:35.38ID:rxVaCTrW一応簡単にはテストしてアップしたわけだからボロボロってほどでも無いと思いたいが、
ダメなケースってどういう場合だろ?
0706名無し~3.EXE
2012/04/17(火) 18:01:16.92ID:FGe60Pe5ありがとうございます。
どう置換しているのかあまりよくわかってないですが、複数ファイルをまとめてD&Dするなら、
フォルダ名に半角スペース入れて、こんな感じでしょうか?
@echo off
for %%a in (%*) do call :suba %%a
:suba
set pname=%*
if not defined pname echo ファイル名を指定してください&pause&&goto :eof
set pname="%pname:"=%"
call :sub %pname%
echo 置換:^<%r%^> %pname% ===^> %fname%
rem if %r% equ ON if exist %dir%%fname% echo 既存ファイルがあって置換できない
ren %pname% %fname%
pause
goto :eof
:sub
set dir="%~dp1"
set f="%~nx1"
set fname=%f: =_%
set fname=%fname: =_%
if %f% neq %fname% (set r=ON) else (set r=OFF)
goto :eof
0707名無し~3.EXE
2012/04/17(火) 20:13:43.12ID:BY2k4WaO「%*」って全ての引数を表示するって意味だから、複数ファイルをD&Dすると
それら全てが1つのファイル扱いになって失敗すると思う。
ていうか、「call :suba %%a」じゃ:subaに渡す時にスペースのところで分割される。
0708名無し~3.EXE
2012/04/17(火) 22:14:25.59ID:rxVaCTrWBAT環境にファイル名が正常に渡ってこない場合があることを忘れてたよ。
俺も>>586(以降の一連のレス)で忠告したことがあったのに、自分自身がそれに引っかかっちゃった。orz
(例 a b&c.txtとか)
>>706
半角スペースを含むフォルダを指定するとして
for %%a in (%*) do call :suba %%a
を
for /r %1 %%a in (*) do call :suba %%a
pause
goto :eof
に変えて、下にあるpauseを取れば一応は動作と思うが、半角スペースを含む場合なら
無駄なことをしてるので自分で考えて改造してよ。
さらにパラメタがフォルダかどうかチェックすればもっといい。
(ルートでない場合、"c:\hoge"なら"c:\hoge\."が存在するかどうか)
0709名無し~3.EXE
2012/04/17(火) 23:00:24.68ID:rxVaCTrW:loop
for %%a in (%1) do call :suba %%a
shift
if exist %1 goto loop
0710名無し~3.EXE
2012/04/17(火) 23:04:17.20ID:rxVaCTrWでいいや。
0711名無し~3.EXE
2012/04/17(火) 23:32:06.75ID:Gava50qZ0712名無し~3.EXE
2012/04/19(木) 22:06:34.90ID:7S6I67D2kakasiを使ってみたら「ん」の後に母音が来ると「ん」が「n'」に変換されてしまうので困っている。
元文が「'かんおん'」というような''で囲まれた文なので中身に「'」が入るのは困る。
平仮名だけなら簡単に事前置換等で対応できそうだけど、漢字の読みがそうなる時がある…
総計10GB位のテキストなので手作業なんて非現実的なにかいい方法はないだろうか?
0714名無し~3.EXE
2012/04/20(金) 12:49:16.86ID:gxdpXMXlちょっと誤爆が怖いけど。
0715名無し~3.EXE
2012/04/28(土) 21:20:23.05ID:krL2uB3+この流れはどうみても「ラーメンは何味が好き?」だろ
こんなこともわからないとかやっぱりアスペだなお前ら
0716名無し~3.EXE
2012/04/28(土) 21:59:29.20ID:BWKqevXj0717名無し~3.EXE
2012/05/02(水) 03:47:39.01ID:wQplHjdm+をエスケープ文字で回避すると思うのですが。。
copy C:\a+b.txt C:\
0718名無し~3.EXE
2012/05/02(水) 03:52:22.88ID:wQplHjdmディレクトリーを変えないといけなかった。 copy C:\a+b.txt C:\d
コピーじゃなくてファイル移動だと move C:\a+b.txt C:\d
でうまくいくのですが。
0719名無し~3.EXE
2012/05/02(水) 03:59:09.31ID:wQplHjdmで出来ました。
0720名無し~3.EXE
2012/05/02(水) 12:32:25.76ID:wxWeUOsq引用符が必要な特別な文字は次のとおりです:
<スペース>
&()[]{}^=;!'+,`~
0721名無し~3.EXE
2012/05/13(日) 17:19:57.01ID:gmM8szhrバッチファイルに書き込んで使いたいと思っています。
0722名無し~3.EXE
2012/05/13(日) 19:41:47.52ID:pSaSucf40723名無し~3.EXE
2012/05/13(日) 22:11:56.36ID:gmM8szhr.NETの関数でしょうか。
VBSファイルを作ってバッチファイルから呼び出してみましたがうまくいきませんでした。
どうやって使えばいいのですか?
0724名無し~3.EXE
2012/05/14(月) 18:50:06.18ID:yob5yN8B0725名無し~3.EXE
2012/05/15(火) 10:11:19.08ID:4YpaanVgネットワークドライブを使うとき、起動ごとにパスワードを聞かれます
netコマンドでどうにかなりませんか?
0726名無し~3.EXE
2012/05/15(火) 11:19:37.48ID:1F1dODdRttp://ja.lmgtfy.com/?q=NET+USE+%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89
0727名無し~3.EXE
2012/05/27(日) 11:15:46.97ID:Zi/Qv7V4aaa
bbb
ccc
という内容の時に
cmd /v:on
for /F %i in ('type test.txt') do @set s=!s!%i
echo %s%
とやると
!s!aaabbbccc
と改行が削除された状態で表示されますが、最初の!s!を入れないようにすることは出来ないのでしょうか?
0728名無し~3.EXE
2012/05/27(日) 11:45:01.45ID:b9LKc8gV0729名無し~3.EXE
2012/05/27(日) 12:39:19.38ID:Zi/Qv7V4出来ました。ありがとございます!
しかしこのような即レスをされる方がゴロゴロいるなんて、ここは梁山泊みたいなスレですね・・・
0730名無し~3.EXE
2012/05/27(日) 15:28:02.07ID:MxmPa/21for /F %i in ('type test.txt') do @set s=!s!%i
set s=!s:~1!
0731名無し~3.EXE
2012/05/27(日) 23:06:41.74ID:kVOsxa3X理由は反社会的なゴロツキが自分達のアジトを「梁山泊」と命名したがる傾向にあるからだ
誉める時の喩えにはあまり使わない方がいい
0733名無し~3.EXE
2012/05/30(水) 11:11:48.31ID:hY90iCOi0734名無し~3.EXE
2012/05/31(木) 07:24:36.12ID:GKrgWqBq0735名無し~3.EXE
2012/06/01(金) 20:38:18.63ID:ucWPdBkw�@ipconfig > tmp.txt
�Atmp.txtを開き、一行目Windows IP Configurationをコピー
�Btmp.txtをWindows IP Configuration.txtに変更
この例としてipconfigを挙げました
現状�A�Bを手動でやっているのですが、�@〜�Bの流れをコマンドで実行したいです
0736名無し~3.EXE
2012/06/01(金) 21:09:07.19ID:UDzrrlMD0738名無し~3.EXE
2012/06/01(金) 21:34:31.84ID:UDzrrlMDfor /f "delims=" %i in (tmp.txt) do if exist tmp.txt rename tmp.txt "%i.txt"
・・・これだと厳密には、コマンドの出力結果の1行目というより、ファイル名として使える文字列の行のうち、最初の行の文字列にリネームされるけど。
0739名無し~3.EXE
2012/06/01(金) 21:51:25.22ID:UDzrrlMD0740名無し~3.EXE
2012/06/01(金) 22:41:04.81ID:YUcQN8LbXPだとエラーになってしまう
ipconfigの出力が変だからなので普通のファイルならいけるだろうけど
0741名無し~3.EXE
2012/06/01(金) 22:49:37.12ID:ucWPdBkwできましたー ありがとうございmす
300行ぐらいあるtxtなので全行にわたって処理が流れますが、運用上問題ありません
また、一行目に日本語が入ってるので、出力したファイルが文字化けしてしまいますが、
対策もしくは運用回避できそう
0742名無し~3.EXE
2012/06/01(金) 22:57:18.26ID:ucWPdBkwipconfigは一行目が空白?半角スペース?で2行目にWindows〜でした
例として適さなかったですね
0743名無し~3.EXE
2012/06/01(金) 23:01:59.01ID:YUcQN8Lb0744名無し~3.EXE
2012/06/01(金) 23:03:34.46ID:YUcQN8Lb0745名無し~3.EXE
2012/06/01(金) 23:36:15.95ID:UDzrrlMDもし1行目の文字列.txtってファイル名が既存だったら2行目の文字列のファイル名になるし、
ファイルの中身によっては>>739とか>>740さんみたいに意図しない結果になるかも。
何千行、何万行あっても延々とif exist 〜ってやり続けるからCPU食いまくったりするかもしれないし、
全行の処理が終わる前に、たまたま誰か別のプログラムがtmp.txtってファイルを作って
それも何か変な名前にリネームしちゃったりすることもあるかも。
0746名無し~3.EXE
2012/06/02(土) 09:50:03.21ID:0AyYZJndset /p nanika=<tmp.txt
も場合によっては便利では。
0747729
2012/06/02(土) 17:15:21.15ID:s4AwXJTkサンデーのケンイチって漫画の読みすぎです。すみませんw
ところでまた質問があるのですが・・・
例えば「テンプレ.txt」の内容が
商品コード:@ID 商品名:@商品名
内容量:@容量 ml 小売価格:@価格 円
で、「10001.csv」の内容が
@ID,10001
@商品名,スコッチ
@容量,700
@価格,1200
である時に「テンプレ.txt」の内容を
商品コード:10001 商品名:スコッチ
内容量:700 ml 小売価格:1200 円
のように書き換えて「10001.txt」に出力したいのですが、どのように記述したらよいでしょうか?
あまりにも複雑で検討もつきません・・・。WSHとかでも大丈夫です。
0748名無し~3.EXE
2012/06/02(土) 17:47:45.16ID:GYAfnnxQ0749名無し~3.EXE
2012/06/02(土) 23:26:55.07ID:8eYCkWb2csvの内容が4つまでで簡単なエラーチェックしかしてないが、以下を参考に
@echo off
set target_dir=%~dp0
set c=0
for /f "tokens=1,2 delims=," %%i in (1001.csv) do (
call :sub1 %%i %%j
)
call :create_rep_bat
type nul>"%target_dir%%data0%.txt" 2>nul
if not exist "%target_dir%%data0%.txt" goto :error
for /f "delims=" %%i in (テンプレ.txt) do (
call rep.bat %%i
)
goto :end
:sub1
set name%c%=%1
set data%c%=%2
set /a c += 1
goto :eof
0750名無し~3.EXE
2012/06/02(土) 23:27:18.76ID:8eYCkWb2if %c%==0 goto :eof
echo @echo off> rep.bat
echo set line=%%*>> rep.bat
echo set line0=%%line:%name0%=%data0%%%>> rep.bat
if %c%==1 goto :eof
echo set line0=%%line0:%name1%=%data1%%%>> rep.bat
if %c%==2 goto :eof
echo set line0=%%line0:%name2%=%data2%%%>> rep.bat
if %c%==3 goto :eof
echo set line0=%%line0:%name3%=%data3%%%>> rep.bat
if %c% gtr 4 goto :error
echo if "%%line0%%" neq "%%line%%" echo %%line0%%^>^> %target_dir%%data0%.txt>> rep.bat
goto :eof
:error
echo エラーだよ [count=%c% filename=%data0%.txt]
:end
del rep.bat>>nul
goto :eof
0751名無し~3.EXE
2012/06/15(金) 23:27:35.99ID:CSUU/bWDset /p nanika=<tmp.txt
rename tmp.txt %nanika%.txt
これで>>738さんの方法と同様かつシンプルに動作しました。
またアドバイスいただきたくてきたのですが、
一行目に日本語文字があり上記のコマンドでファイル名をセットすると文字化けすることが
解決できずにいるのですが何か方法はありますか
0752名無し~3.EXE
2012/06/16(土) 15:31:10.29ID:8ul3taaLxcopy c:\data c:\data_bak\ /e /d /y
というコマンドを定期的に実行しているのですが、
このコマンドだと2回目以降のバックアップは差分バックアップで高速なのはいいのですが、
「c:\data」から削除されたファイルが「c:\data_bak」に残ってしまいます。
2つのフォルダの内容を同一にする方法はないでしょうか?
0753752
2012/06/16(土) 15:58:41.91ID:8ul3taaL0754名無し~3.EXE
2012/06/19(火) 21:58:40.28ID:hGKihNyx[Name]あああ
[Age]10
[Tel]1111-1111
[Name]いいい
[Age]20
[Tel]2222-2222
[Name]ううう
[Age]30
[Tel]3333-3333
という内容のテキストファイル(Kaiin.txt)を
[Name]あああ [Age]10 [Tel]1111-1111
[Name]いいい [Age]20 [Tel]2222-2222
[Name]ううう [Age]30 [Tel]3333-3333
のように1行1レコードに書き換えることはできるのでしょうか?
ちなみにレコードは[Name]から始まることは確実なのですが、
情報は3項目とは限らず、あるレコードには[E-Mail]という4つ目の項目があったりします。
「delims=[Name]」とか色々やってみたのですが、改行の扱い方がよくわかりませんでした・・・
0755名無し~3.EXE
2012/06/19(火) 22:29:39.46ID:h3brGujL0756名無し~3.EXE
2012/06/19(火) 23:22:20.00ID:+q6zg+OSsetlocal ENABLEDELAYEDEXPANSION
del Kaiin_fix.txt
for /f "delims==" %%A in (Kaiin.txt) do (
set t=%%A
if "!t:~0,6!" == "[Name]" (
if not "!r!" == "" (
echo !r!>>Kaiin_fix.txt
)
set r=%%A
) else (
set r=!r!%%A
)
echo !r!
)
echo %r%>>Kaiin_fix.txt
0757名無し~3.EXE
2012/06/19(火) 23:27:36.15ID:hGKihNyx実行したら
'tr' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というメッセージが出てしまいました。
うちのPCが古い(WinXP-Home)からでしょうか?
0758名無し~3.EXE
2012/06/19(火) 23:32:14.25ID:hGKihNyxそのまんまバッチファイルに保存して実行したら一発でうまく行きました〜!(>_<)
本当にありがとうございます。明日仕事で使うので助かりました!
0759名無し~3.EXE
2012/06/23(土) 00:15:06.65ID:CNQPEC6l0760名無し~3.EXE
2012/06/23(土) 00:20:03.67ID:4yKGjq8H0761名無し~3.EXE
2012/06/23(土) 00:32:22.36ID:CNQPEC6lいや前スレのレスNo.223に
for /F "tokens=1* delims=" %i in ('ipconfig /all') do @(echo.%i)>>IPconfig.txt
みたいな記述があるんだが、ここのechoの直後にあるピリオドは何か意味があるのかなと思ったんだ。
0762名無し~3.EXE
2012/06/23(土) 06:13:03.01ID:RDDqRHw0echo (半角スペース)を入れても
echo は on ですとか表示されるだけだから
0763名無し~3.EXE
2012/06/23(土) 06:27:49.29ID:IUrYg+zg0764名無し~3.EXE
2012/06/23(土) 06:40:25.24ID:yaSGhGdy読み込むテキストで空行の場合、%iは空となって、echo %iだとechoと展開されちゃうのでね
まあカッコで括ってるのには別段意味は無いと思われるけど
0765761
2012/06/23(土) 10:04:48.19ID:CNQPEC6l試しに
for /F "tokens=1* delims=" %i in ('ipconfig /all') do @(echo.%i)
ってやると
'echo.' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
ってエラーが大量に表示され、
for /F "tokens=1* delims=" %i in ('ipconfig /all') do @(echo;%i)
ってやるとipconfig /allってやった時と同じ結果が表示される。
コマンドのバージョンの違い?と思ってググったら環境によって使える記号が違うんですね。↓
http://www.k-tanaka.net/windows/cmd/echo.html
お騒がせしました。
0766名無し~3.EXE
2012/06/23(土) 20:42:06.86ID:bc/3DJjoecho.
echo;
ってやってみるとわかるよ
0767名無し~3.EXE
2012/07/07(土) 13:09:27.69ID:Kdkcgn1Uxcopy を使ってシステムファイルをコピーしようと思います。
USBメモリにDOS起動ディスクを作成して、
DOSを起動してみたんですが、
他のハードディスクのルートやそのディレクトリに移動できません。
コマンドプロンプトで練習したようにうまくいかない・・・。
------------------------
cd D:\
cd E:\
cd F:\
無効なデバイスです。
------------------------
と言われます。
0768名無し~3.EXE
2012/07/07(土) 13:36:34.02ID:X0UV7FVl・cdはドライブ移動コマンドじゃない
0769名無し~3.EXE
2012/07/07(土) 16:22:54.53ID:Kdkcgn1Uきょうび、Windows XP以降は全部NTFSじゃないですか・・・・
じゃあ、どうやってDOS起動ディスクで
HDDのファイルをサルベッジするんですか。
0770名無し~3.EXE
2012/07/07(土) 16:35:26.06ID:wZwUCNN4ttp://toro.2ch.net/test/read.cgi/win/1257735910/
0771名無し~3.EXE
2012/07/07(土) 17:13:02.96ID:q+2kH2Inシェアだったような気もするが
0773名無し~3.EXE
2012/07/07(土) 19:12:39.56ID:Uxfb91hhKnoppixが有名だけどUbuntuもライブCDになってる
0775名無し~3.EXE
2012/07/08(日) 01:19:51.59ID:QfHoCOigcd の/dオプションはDOSには無い
0776名無し~3.EXE
2012/07/08(日) 18:16:56.79ID:t735AZ9fそうなのかー、
PC自作してから10年くらい離れてたから
ぜんぜんわからんわー。
0777名無し~3.EXE
2012/07/08(日) 18:51:00.67ID:t905MSPd0778名無し~3.EXE
2012/07/08(日) 19:01:58.26ID:NciOzAkDDOSの起動ディスクで起動してxcopyでシステムファイルのバックアップって出来なかったからなぁ
0779名無し~3.EXE
2012/07/17(火) 10:35:54.06ID:08QP62d3どうしたらよいでしょうか
0780名無し~3.EXE
2012/07/17(火) 16:34:51.25ID:Fe4D8PGu0782名無し~3.EXE
2012/07/18(水) 00:33:55.68ID:RoO3HiQY0783名無し~3.EXE
2012/07/18(水) 21:35:12.64ID:26J7ozK/0784名無し~3.EXE
2012/07/18(水) 22:30:13.61ID:b8oEzIqpこういう情報って何の本で仕入れるんですか?
Windows PE っていう言葉自体を知らなかったです。
ファイル救出?とかWindowsトラブル?
とかそういうタイトルの書籍を読んだらいいですか?
0785名無し~3.EXE
2012/07/19(木) 00:49:38.11ID:ZGZWnbQ/0786名無し~3.EXE
2012/07/19(木) 01:03:52.98ID:KDsuWFVbchcp 1252
を実行してからUTF8のテキストファイルをfidstrで検索してみましたが
検索結果のうち全角文字については文字化けしてしまい正しく表示されませんでした。
というかそもそもchcp 1252を実行するとコマンドラインから全角文字が
入力できなくなりました。
0787名無し~3.EXE
2012/07/21(土) 01:20:14.02ID:Pv4An8kW0788名無し~3.EXE
2012/07/21(土) 01:21:55.75ID:Pv4An8kW0789名無し~3.EXE
2012/07/26(木) 11:29:20.04ID:CcmXux6tバッチファイル作成のIF EXIST構文について質問です。
IF EXIST F:\hoge\hogehoge\nul GOTO Label1
このように、指定したディレクトリが存在すればラベルにジャンプするようなことがしたいです。
上記のようなパス名なら問題ないのですが、
ディレクトリにスペースが入る場合は正常に動作しないです。(Documents And Settingsとか)
通常のパス名指定のように、""で囲う方法も駄目でした。
うまく指定する方法があったら教えてください。
0790789
2012/07/26(木) 11:39:55.62ID:CcmXux6t0791名無し~3.EXE
2012/07/26(木) 12:15:55.40ID:NBWaatDv0792名無し~3.EXE
2012/07/29(日) 02:50:13.97ID:qn0K8bH6ググっても全然意味がわかりません・・・
0793名無し~3.EXE
2012/07/29(日) 03:30:43.23ID:2GL95aL20794名無し~3.EXE
2012/07/29(日) 21:28:24.02ID:qn0K8bH6サンキューです!
echoの前にcallつけるだけでいいんですね。
(1ループ毎のサブプローシージャ呼び出しみたいに展開されてるのだろうか?)
ありがとうございました。
0795名無し~3.EXE
2012/07/30(月) 18:10:42.48ID:66D8ZD+S0796名無し~3.EXE
2012/08/01(水) 23:30:17.13ID:XL3CDQvv0797名無し~3.EXE
2012/08/02(木) 10:56:18.68ID:TB/SN1Sj0798名無し~3.EXE
2012/08/05(日) 00:25:05.66ID:/6Pk7K3z0799名無し~3.EXE
2012/08/05(日) 01:02:49.74ID:dHLUEPcSnコマンドで作れる
0801名無し~3.EXE
2012/08/05(日) 15:53:14.73ID:dHLUEPcS(for /f "delims=" %%I (テキストファイル) do set /p dummy=%%I) > 新テキストファイル
0802名無し~3.EXE
2012/08/05(日) 19:24:46.32ID:/6Pk7K3zありがとうございます!
色々試行錯誤して以下のようにしたら1行で出来ました。
(for /f "delims=" %%i in ('type in.txt') do @set /p dummy=%%i<nul) > out.txt
ところで「%%」を「%」にしてバッチファイルではなく直接コマンドプロンプトから入力すると
set文の実行内容がいちいちタイトルバーに表示されてパフォーマンスがものすごく落ちますね。
これってどうにもならないのでしょうか?まあバッチファイルでやればいいのですが、若干面倒なので…
0803名無し~3.EXE
2012/08/06(月) 21:22:45.57ID:LV5EBWGS0804名無し~3.EXE
2012/08/06(月) 23:35:59.38ID:ZB+nrifmありがとうございます。
教えていただいたものをコマンドプロンプトに入力して実行すると
「指定されたファイルが見つかりません。」というエラーになります…
↓のように色々変えて試しましたがやはり同じエラーになりました。
何か原因がおわかりになるでしょうか?
cmd /c (for /f "delims=" %i in ('type in.txt') do @set /p dummy=%i<nul) > out.txt
cmd /c (for /f "delims=" %i in (type c:\in.txt) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ('type c:\in.txt') do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ("type c:\in.txt") do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "usebackq delims=" %i in (`type c:\in.txt`) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in (c:\in.txt) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ('c:\in.txt') do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ("c:\in.txt") do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "usebackq delims=" %i in (`c:\in.txt`) do @set /p dummy=%i<nul) > c:\out.txt
0805名無し~3.EXE
2012/08/06(月) 23:39:57.54ID:ZB+nrifmcmd /c "type in.txt" > out.txt
と入力するとin.txtと同一内容のout.txtが作成されるので
in.txtはきちんと存在しています。
0806名無し~3.EXE
2012/08/07(火) 00:16:01.54ID:1JXfprE00808名無し~3.EXE
2012/08/07(火) 18:52:29.28ID:1JXfprE00810名無し~3.EXE
2012/08/09(木) 23:20:20.95ID:LDsLhA1cコマンドプロンプトでNICの正常性を確認したい場合 どんなコマンドを使えばいいんでしょうか
systeminfoコマンドのみででわかるものなんでしょうか
0811名無し~3.EXE
2012/08/10(金) 02:22:05.79ID:HJMCAmsV0813名無し~3.EXE
2012/08/11(土) 03:24:44.46ID:TBiUViGB以下のようなコマンドを考えましたが、これだと長さゼロの行は除外されるのですが、タブしか無い行が表示されてしまいます・・・
findstr "[^]" test.txt
0814名無し~3.EXE
2012/08/11(土) 17:29:27.41ID:EPp283Gd0816名無し~3.EXE
2012/08/11(土) 21:40:10.32ID:TBiUViGBfindstr "[^]" test.txt | findstr /v /c:" "
タブの非表示方法は見つけられませんでした…
0817名無し~3.EXE
2012/08/12(日) 06:09:25.77ID:yViiJIGe0818名無し~3.EXE
2012/08/12(日) 08:26:12.28ID:mofPEIWXcscript //nologo /e:jscript "%~f0" <test.txt
goto :eof
@end
var stdin=WScript.StdIn;
while(!stdin.AtEndOfStream) {
var data=stdin.ReadLine();
if (!data.match(/^[ \t]*$/)) WScript.StdOut.WriteLine(data);
};
0819816
2012/08/12(日) 22:27:36.56ID:dDRqHhz6それでばっちりうまくいきました。ありがとうございます!
一応↓のようにしたら希望に近い動作にはなったのですが、
これだと内容のある行のタブも全てなくなってしまうという欠点があったので助かりました。
コマンドラインはタブの扱いは苦手なようですね…
more /t0 /s test.txt | findstr "[^]"
0820名無し~3.EXE
2012/08/12(日) 22:34:42.16ID:dDRqHhz6今やり直して見たら↓でうまくいくような気が・・・
more /s test.txt | findstr "[^]"
0821820
2012/08/13(月) 00:28:40.47ID:CN/4Vl7Y結果をテキストファイルに出力してみるとタブが全て複数個のスペースに変換されていました。
0822名無し~3.EXE
2012/08/14(火) 15:36:46.82ID:Q2YR48hU↑^空白タブ
0823名無し~3.EXE
2012/08/14(火) 16:38:53.22ID:4sKSLfuZそれとも拡張機能だとかをオフにすればコンソールから叩けるのか?
0824名無し~3.EXE
2012/08/14(火) 17:56:36.34ID:Q2YR48hUmore|cmd
0825名無し~3.EXE
2012/08/14(火) 18:03:55.06ID:Q2YR48hUtype con|cmd
0826名無し~3.EXE
2012/08/14(火) 22:11:42.18ID:4sKSLfuZそれって「cmd /f:off」と意味同じ?
どうでもいいけど「cmd /f:off」と「cmd /f:on」ってどちらかを一度でも実行すると
ファイル名のタブ補完機能が無効になってタブが入力できるようになるけど、
コマンドプロンプトを起動しなおさない限り有効に戻せなくなるね。
(「cmd /f:on」を実行してもタブ補完機能が有効にならず相変わらずタブが入力できる状態のまま)
これって仕様?
0827名無し~3.EXE
2012/08/15(水) 02:10:50.26ID:jfc8bPaKけれども、ファイル名フォルダ名入力の補完機能は一応ちゃんと切り替わってるようだよ
([Ctrl]+[D],[Ctrl]+[F])
cmdの新たなインスタンスを作成しネストした場合、親アプリケーションの環境を継承する
ことにはなっているが、パラメタを指定した場合、全く同じというわけではないようだ
個人的には、[Tab]の補完はレジストリ参照だから/fオプションが指定されて
一旦リセットした時にその部分までリセットされちゃって引き継ぐことを忘れちゃっているんだろう
(/fじゃない別のオプションだとちゃんと引き継がれてるから)
あと、子インスタンスを終了して親インスタンスに戻るにはexitコマンドを使う
cmd /f:on
の後、exitとやってやれば親に戻ってこられる
当然ながら子インスタンスの環境は破棄されるので子インスタンスで設定した環境変数は継承されない
(setlocal/endlocalと同じだと思えばいい)
ただ、親インスタンスに戻ってきても[Tab]での補完は無効になっちゃうのは何故なのか分からない
(誰かこの辺の動作を教えて下され)
最後に
type con|cmdを使うのは俺はどうかと思う
なぜこんなのを使うのかその理由が聞きたい
動作的には、con特殊ファイルの内容をパイプすることになるわけだが
エコー機能をoffにしないと(cmd /q)、タイプした文字(つまりconファイルの中身に相当する)
がそのまま表示されちゃうし、いろいろと不都合が発生しそうだ
(exitで戻れるが存在しないファイルに書き込もうとしたとかエラーが出るし、
exitじゃなくて、[Ctrl]+[C]で中止しちゃえばこのエラーは見なくて済むけど
for /?でヘルプを見ようとしたら...固まっちゃったぞ)
なお環境はXPでのことだから7なら違うのかも知れんけど
0828名無し~3.EXE
2012/08/15(水) 11:14:15.44ID:cz6Z7lt00829名無し~3.EXE
2012/08/15(水) 11:15:39.48ID:cz6Z7lt0for /f "delims=N" %I in ('cmd /u /c echo 三') do findstr /r /c:"[^ %I]" test.txt
0832名無し~3.EXE
2012/08/16(木) 01:09:37.35ID:YlGbHwUXとかやると拡張子が「txta」のものも表示されたり、8.3形式側のファイル名で合致するものも表示されたりしますが、
みなさんはいちいち
dir c:\windows\*2.txt /s/b | findstr "2\.txt$"
とかやってるんでしょうか?
とても面倒です。何かもっと簡単な方法があれば教えて下さい。
0833名無し~3.EXE
2012/08/16(木) 18:35:48.35ID:4Tkwha3H0834名無し~3.EXE
2012/08/17(金) 00:38:32.55ID:QE8a/5Ie0835名無し~3.EXE
2012/08/18(土) 00:56:56.99ID:Ch+wdkb1CH12_0047.txtの8.3形式はCH3013~1.TXTだから
「del /q CH30*.txt」を実行するとCH12_0047.txtも消えちまうのか。震えが止まらんな。
0836名無し~3.EXE
2012/08/18(土) 02:53:05.88ID:GAss6Xsdいい加減8.3名の自動生成機能はデフォルトOffでいいと思うんだけどなぁ
0837名無し~3.EXE
2012/08/18(土) 08:07:23.69ID:PsqJnwYmhttp://support.microsoft.com/kb/164351/ja
喜べ少年。君の願いは、ようやく叶う
8からはシステム以外はフォーマット時既定Offだ
0838名無し~3.EXE
2012/08/18(土) 14:53:15.41ID:kdSIi1cPてやれば
*.xlsx
も消してくれるわな
0839名無し~3.EXE
2012/08/18(土) 16:56:03.80ID:Ch+wdkb1なるほど、有名な話なんですね。
>>838
1.abc
1.abcde
123456789012345678901234567890.abc
123456789012345678901234567890.abcde
という4つのファイルがあって「del ????????.abc」ってやると全部消えるw
8.3形式のこと知らないと1番目のファイルだけ消えると考えちゃいそうだけど。
これって最初はワイルドカード使った時だけの問題かと思ってたけどそうじゃないんだね。
ただ単にファイルは2つの名前を持ってるというだけのことか。
それにも関わらずMSはオフィスとかVisualStudioとかで3バイト以上の拡張子をバンバン使って
この問題を複雑化させてるね…
0840名無し~3.EXE
2012/08/25(土) 13:49:21.52ID:kquHFYQI100,商品1
200,商品2
300,商品3
400,商品4
Litst2.csv(商品コード、価格)-----
100,5000
200,10000
400,20000
Litst3.csv(商品コード、商品名、価格)-----
100,商品1,5000
200,商品2,10000
300,商品3,
400,商品4,20000
Litst1.csvとLitst2.csvからLitst3.csvを作ることは出来ますか?
Litst1.csvには全ての商品が載っていますが、Litst2.csvには値段の無い商品(試供品など)は載っていません。
2つとも商品コード順になっています。
今は価格改定がある度にエクセルにインポートして手作業で編集しているのですごく不便です・・・
0841名無し~3.EXE
2012/08/25(土) 13:59:07.75ID:Bv8AIAN8升目のある表だけのソフトじゃないんだからさ…
0842名無し~3.EXE
2012/08/28(火) 02:05:54.99ID:GPomH5RQ俺はコマンドライン知らんが、原始的な方法としてはlist1とlist2を結合してソートして
正規表現置換で整形してしまえばいいんじゃね
list3で管理するようにして、必要に応じてlist1やlist2を吐くようにするのが根本的な
解決だろうけど
0843名無し~3.EXE
2012/08/28(火) 02:25:06.93ID:TeyoM5/G0844840
2012/08/28(火) 06:56:55.52ID:8ve8hln+最終的にはcsvにしたいだけなので。
バッチコマンドでどうにかならないでしょうか?
0845名無し~3.EXE
2012/08/28(火) 07:43:11.60ID:GPomH5RQvlookupって集計用じゃなかったっけ
list1とlist2からvlookupでlist3を作成。list3の表自体を直接修正はできないので結果を
csvで出力してから修正。修正後のデータをexcelで読み込んで、list1とlist2の形で出力
てことになるのか?
0846名無し~3.EXE
2012/08/28(火) 10:51:40.75ID:WUzBuKO2(for /f "tokens=1,2* delims=," %%I in (list1.csv) do (set /p=%%I,%%J,<nul
for /f "tokens=2 delims=," %%K in ('set /p"=^%%I,"^<nul^|findstr /r /g:/ list2.csv') do set /p=%%K<nul
echo;))>list3.csv
0847名無し~3.EXE
2012/08/28(火) 17:41:06.22ID:5XZE6qYupowershellなら簡単にできるぞ(たぶん)
そっちで聞け
0848名無し~3.EXE
2012/08/28(火) 21:38:10.86ID:8ve8hln+ありがとうございます!上手くlist3.csvが作成されました。
教えて頂いたバッチは1行目以外は全く理解不能で謎の呪文にしか見えませんけど・・・(笑)
今のところ項目が増える予定はないのでこのままで問題ないです。
本当にありがとうございました。
0849名無し~3.EXE
2012/08/28(火) 21:42:51.66ID:8ve8hln+私にはやり方の手順がうまくイメージ出来ないです。
でも今後のためにvlooupという関数については調べて見ますね。
0850名無し~3.EXE
2012/08/29(水) 07:47:33.60ID:wUW1UYubこんな処理をさせなくてはならんのか。
0851名無し~3.EXE
2012/08/29(水) 13:12:43.09ID:CZ9foUYv0852名無し~3.EXE
2012/08/29(水) 14:24:45.26ID:klObh3Z50853名無し~3.EXE
2012/09/06(木) 23:53:51.54ID:VegFW4+R0854名無し~3.EXE
2012/09/07(金) 00:25:04.88ID:FvKPD0bJ0855名無し~3.EXE
2012/09/07(金) 00:27:48.12ID:F0SzUMZ90856名無し~3.EXE
2012/09/07(金) 01:35:37.10ID:lUJO4jIl0857853
2012/09/07(金) 21:44:49.77ID:JTeClmc8ありがとうございます。試しにメモ帳を開いて「あああいいいううう」と入力してファイル名をutf8.txt、
文字コードをUTF8として保存し、以下のスクリプトを実行しました。
set f1=utf8.txt
set f2=sjis.txt
set t=tmp.txt
start /min /wait cmd /c chcp.com 65001 ^& ^( set /p x=""^<nul ^& cmd /u /c type %f1% ^) ^>%t%
start /min /wait cmd /c chcp.com 932 ^& cmd /c type %t% ^>%f2%
作成されたsjis.txtを開いて見ると文字コードはSJISになっているのですが、
内容が「?あああいいいううう」となって先頭に「?」がついてしまいました。
なぜなんでしょう?どなたか原因をご存知ないでしょうか?
ちなみに4行目で文字コードをUTF8からUnicodeに変換し、5行目でUnicodeからSJISに変換しています。
0858名無し~3.EXE
2012/09/07(金) 23:20:00.95ID:lUJO4jIlstart /min /wait cmd /c chcp.com 65001 ^& ^( cmd /u /c type %f1% ^) ^>%t%
でやってみ
0859857
2012/09/08(土) 12:29:57.18ID:zYwdbrkeありがとうございます。bomなんて知りませんでした。(昔ゲーセンでやった「1942」というシューティングゲームが思い浮かびましたw)
つまり私が>>857に書いたのはbom無し用であり、bomを付加してしまっているのですね。
そしてメモ帳はUTF8で保存するとbomを付加する仕様なのでダブったbomが「?」と表示されてしまうと。
おかげでコマンドでUTF8→SJIS変換が出来るようになりました。ありがとうございます。
0860857
2012/09/08(土) 16:12:45.33ID:zYwdbrketype %t% >%f2%
でもよいみたいです。
0861名無し~3.EXE
2012/09/08(土) 21:41:52.24ID:zYwdbrke>>857の「set /p x=""」の部分なんですが、キーボードでは厳しいですか?
0862名無し~3.EXE
2012/09/08(土) 22:37:39.77ID:7MfyrgNJalt+テンキー254
0863名無し~3.EXE
2012/09/15(土) 14:46:41.47ID:C3uVNsum0864名無し~3.EXE
2012/09/15(土) 15:55:32.98ID:AGBRDVCI0865名無し~3.EXE
2012/09/15(土) 16:07:52.70ID:C3uVNsumバッチで画像処理するツールの為の数十MBの
作成削除書き換えが頻繁な一時ファイル置き場が
欲しいわけなんだけど。
0866名無し~3.EXE
2012/09/15(土) 16:40:53.96ID:tpqmeZ3C環境変数には8KB弱の文字列を入れることができるから
と書こうと思ったが数十MBか。 面白い展開だな。
/Eオプションでどこまで広げられるか、で決まるな。
0867名無し~3.EXE
2012/09/15(土) 16:46:17.14ID:C3uVNsum0868名無し~3.EXE
2012/09/15(土) 17:03:06.51ID:YXJaFKtd0869名無し~3.EXE
2012/09/16(日) 00:45:05.49ID:93bKjq9K0870名無し~3.EXE
2012/09/17(月) 20:55:12.13ID:H96X9x8A0871cmd
2012/09/17(月) 22:36:52.59ID:EwsykKiH超初心者です。レジストリの設定の進み方を教えてください。
HKEY_CLASSES_ROOT\.bat\ShellNewです。
0872cmd
2012/09/17(月) 22:52:35.61ID:EwsykKiH0873名無し~3.EXE
2012/09/17(月) 23:03:09.80ID:H96X9x8A0874名無し~3.EXE
2012/09/17(月) 23:40:59.58ID:NsVU8IOn0876名無し~3.EXE
2012/09/18(火) 10:49:12.05ID:Lu9E39xvOS:windows vista business SP2 64bit
上記OSに付属しているコマンドプロンプトで、以下の処理をさせたいと考えています。
【やりたい事】
複数ファイル(128文字程度の日本語ファイル名)の、サイズゼロのダミーファイルを
作成するバッチファイルを作りたいと考えています。
【詰まっている事】
以下のコマンドで、ディレクトリ配下の全ファイル名の取得とダミーファイルの作成は
出来る事まで調べられたのですが、これらをどう組み合わせればいいのかが判りま
せんでした。
ディレクトリ配下のファイル名取得:dir /b
サイズゼロのダミーファイルの作成:fsutil file createnew <ディレクトリパス\ファイル名> 0
パイプを使ってファイル名のデータを受け渡しをすれば良いと思うのですが(あるいは
それをファイル数分ループさせる?)、コマンドラインでそれを実現する能力が今の
自分にはありませんでした。
上記につきまして、ご教示いただければ幸いです。
0877名無し~3.EXE
2012/09/18(火) 11:49:17.63ID:qz0uSmZ20878名無し~3.EXE
2012/09/18(火) 12:00:29.89ID:QAVt4hR40879名無し~3.EXE
2012/09/18(火) 12:50:32.58ID:Lu9E39xv手元で試したところ、robocopy /CREATE で簡易に意図通りの動作をさせる事ができました。
こちらを使用させていただきます。
五月雨な質問になって申しわけありませんが、もう一点質問させてください。
「サイズが0でないファイルのみを別ディレクトリにコピー or 移動させる方法」は
有りますでしょうか。
copyやmoveコマンドのオプションを調べてみましたが、さすがにこのような機能は
無い様で、googleセンセに問い合わせても解決できておりません。
お手数ですがよろしくおねがいいたします。
# やりたい事は、実体のあるファイルとダミーファイルが混在しているディレクトリから
# 実体のあるファイルを取り出したい(≒ダミーファイルを削除したい)となります。
0880名無し~3.EXE
2012/09/18(火) 13:31:44.13ID:QAVt4hR40881名無し~3.EXE
2012/09/19(水) 10:00:56.59ID:qVAVC3Ftご教示ありがとうございました。
0882名無し~3.EXE
2012/09/19(水) 10:06:04.12ID:wpt28jIubashで言うところのset -sのような
0883名無し~3.EXE
2012/09/19(水) 11:28:59.26ID:7P9VvtCj0884名無し~3.EXE
2012/09/21(金) 18:25:37.32ID:8hwoTWoP各行 || goto :eof
0885名無し~3.EXE
2012/09/29(土) 01:18:09.31ID:vfDPP9ja3
6
7
10
って内容のテキストファイルを
1
3
6
7
10
に書き換えることって出来る?
0886名無し~3.EXE
2012/09/29(土) 01:31:05.01ID:vfDPP9ja1,AAA,あああ,111
3,BBB,いいい,222
6,CCC,ううう,333
7,DDD,えええ,444
10,EEE,おおお,555
という内容のテキストファイルを
1,AAA,あああ,111
3,BBB,いいい,222
6,CCC,ううう,333
7,DDD,えええ,444
10,EEE,おおお,555
に書き換えることは出来ますでしょうか?
つまりカンマで区切られた最初の項目で番号がとんでいるところに改行を入れたいのです。
0887名無し~3.EXE
2012/09/29(土) 03:08:46.28ID:8NAnYJ1b@echo off
set cnt=2
for /f "tokens=* delims=," %%I in (list.txt) do (
call :insert_lines %%I
echo. %%I
set /a cnt+=1
)
goto :eof
:insert_lines
for /l %%s in (%cnt%,1,%1) do @echo.&set /a cnt+=1
goto :eof
0888名無し~3.EXE
2012/09/29(土) 03:11:12.01ID:8NAnYJ1b@echo off
set cnt=2
for /f "tokens=*" %%I in (list.txt) do (
call :insert_lines %%I
echo %%I
set /a cnt+=1
)
goto :eof
:insert_lines
for /l %%s in (%cnt%,1,%1) do @echo.&set /a cnt+=1
goto :eof
0889886
2012/10/02(火) 02:14:43.47ID:O1uaudI+返事が遅れてすみません。
うまくいきました。ありがとうございます!
スクリプトまで書いて頂いて申し訳ないです。
0890名無し~3.EXE
2012/10/07(日) 00:44:58.40ID:2YgTPdV8それでパソコンが壊れた時に備えて定期的にUSBメモリにバックアップしたいと頼まれました。
バックアップ対象のフォルダは決まっているので「robocopy c:\aaa g:\aaa /mir」というコマンドで出来そうなのですが、
例えばUSBメモリの挿し忘れや、USBメモリのドライブレターがずれた時などに備えて
USBメモリのドライブ直下に「abcxyz.txt」などというファイルを作り、ドライブ直下にこのファイルが
存在するドライブがある場合のみそのドライブにコピーを行い、そういうドライブが無い場合は
「USBメモリが挿入されていません」とメッセージを出してバッチを終了させるようにしたいのです。
そこで「AからZまでをループさせてうんたらかんたら・・・」で出来そうだなと思ったのですが、
実現方法が全然わかりません(^^;)
Forコマンドとか使えばいいんでしょうか?
ちなみにUSBメモリは大容量なので容量不足の心配はありません。
0891名無し~3.EXE
2012/10/07(日) 01:03:20.68ID:2YgTPdV8今調べたら父のパソコンは「Windows XP Home」で、robocopyコマンドが無いようです。
いきなり詰んでしまいました・・・(T_T)
0892名無し~3.EXE
2012/10/07(日) 01:44:09.71ID:FSAsTUzKつWindows Server 2003 Resource Kit Tools
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en&displaylang=en
0893名無し~3.EXE
2012/10/07(日) 06:22:23.05ID:rwc8PvCCそういうのは素直にGUI付きのバックアップツールを使った方が楽だと思われ。
バッチだとパス指定ミスってても気付きにくいから
いざ壊れて復元しようと思ったらバックアップできてなかった!
なんてことにもなりかねないし。
0894名無し~3.EXE
2012/10/07(日) 23:25:12.89ID:2YgTPdV8ありがとうございます。おかげでrobocopyが使えるようになりました。
一応今日丸一日費やしてなんとか自力で作ってみました。
非常に冗長ですが、一応動きましたw
(ちなみにドライブAを指定すると変な動きをしたのでAは省きました)
-------------------------------------------------------
@echo off
set drv=
if exist b:\abcxyz.txt set drv=b
if exist c:\abcxyz.txt set drv=c
if exist d:\abcxyz.txt set drv=d
if exist e:\abcxyz.txt set drv=e
if exist f:\abcxyz.txt set drv=f
if exist g:\abcxyz.txt set drv=g
if exist h:\abcxyz.txt set drv=h
if exist i:\abcxyz.txt set drv=i
if exist j:\abcxyz.txt set drv=j
if exist k:\abcxyz.txt set drv=k
if exist l:\abcxyz.txt set drv=l
if exist m:\abcxyz.txt set drv=m
if exist n:\abcxyz.txt set drv=n
if exist o:\abcxyz.txt set drv=o
if exist p:\abcxyz.txt set drv=p
続く〜
0895名無し~3.EXE
2012/10/07(日) 23:26:04.52ID:2YgTPdV8if exist q:\abcxyz.txt set drv=q
if exist r:\abcxyz.txt set drv=r
if exist s:\abcxyz.txt set drv=s
if exist t:\abcxyz.txt set drv=t
if exist u:\abcxyz.txt set drv=u
if exist v:\abcxyz.txt set drv=v
if exist w:\abcxyz.txt set drv=w
if exist x:\abcxyz.txt set drv=x
if exist y:\abcxyz.txt set drv=y
if exist z:\abcxyz.txt set drv=z
if not defined drv echo USBメモリが差し込まれていません。差し込んでからもう1度実行して下さい。& set /p a=& goto :eof
robocopy c:\aaa %drv%:\aaa /mir
echo.
echo.
if %errorlevel% gtr 1 echo バックアップが失敗しました。もう1度やり直して下さい。& set /p a=& goto :eof
echo バックアップが完了しました。何かキーを押して下さい。& set /p a=
0896名無し~3.EXE
2012/10/07(日) 23:41:37.90ID:EgqJ6nAmfor %%a in (b c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%a:\abcxyz.txt set drv=%%a
0897名無し~3.EXE
2012/10/08(月) 09:09:23.58ID:V+aCKgEx0899名無し~3.EXE
2012/10/08(月) 22:33:49.79ID:19eXqaKhUSBメモリじゃなくてUSBマルチメモリリーダライタでSDカードを刺した場合に
同じことをやるとカードを刺してないドライブの場合にエラーのメッセージボックスが
開いてそこでbatが一時停止してしまった
(Windows - ディスクがありません Exception Processing Message c0000013)
そこで、カードを刺してないドライブの場合を回避出来ないかとチャレンジしてみた
するとdiskpartコマンドでvolume一覧が取得できることが分かった(管理者権限が必要)
(ただ、XPの場合) Volume一覧でTypeが"リムーバプ(pu)ル"になってるのはバグだな
for /f "skip=9 tokens=3,4" %%a in ('echo list volume^|diskpart') do if "%%b" neq "リムーバプル" if exist %%a:\abcxyz.txt set drv=%%a
0900名無し~3.EXE
2012/10/09(火) 12:02:10.16ID:dP495pbPdiskpart は exit で終わっておきたいから、手間でも /s でスクリプトを
渡してやったほうが落ち着く
個人的な感想でスマン
あと、「リムーバブル」の表示が化けるならそれはそのPCの問題
普通は化けたりしない
0901名無し~3.EXE
2012/10/09(火) 12:56:19.55ID:jW+kkYmn0902名無し~3.EXE
2012/10/09(火) 12:59:14.47ID:Hm3MktIb0903名無し~3.EXE
2012/10/09(火) 14:57:11.01ID:dP495pbPああぁ、把握した、ブ であるべきが プ になっているってことか、
pu で化けているってことかと勘違いした、すまん
0904名無し~3.EXE
2012/10/15(月) 11:32:15.30ID:X31E4nYuOS:
windows vista 64bit
やりたい事:
キーワードが列挙されているリストAがあります。
任意のファイルBが入力された場合、そのファイルBのファイル名とリストAのキーワードを比較して、
ファイル名にキーワードが含まれていた場合に処理Cを実行するような処理を作ろうとしています。
その処理の中の「ファイル名にキーワードが含まれているか」の判定文の書き方がわかりません。
この部分、どのようにすれば良いでしょうか?
させたい処理の例:
リストAの記述
hoge[aaa]
hoge[bbb]
hoge[CCC]
ファイルBのファイル名
hoge[aaa]20120101.txt
バッチ例:
setlocal enabledelayedexpansion
for /f "delims=" %%A in (リストA) do (
if (ファイル名にキーワードが含まれているかの判定) (
真の処理
)
)
上記例だと、リストAの1行目の文字列はファイルBのファイル名に含まれる為に"真の処理"が実施され、
リストAの2〜3行目の文字列はファイル名に含まれない為に何も実施されないのが、期待値となります。
0905名無し~3.EXE
2012/10/15(月) 15:46:43.39ID:X31E4nYuご協力ありがとうございました
---
echo ファイル名 | find "リストから取ってきた文字列" > NULL
IF NOT ERRORLEVEL 1 (
真の処理
)
0906名無し~3.EXE
2012/10/17(水) 20:08:15.90ID:LmUXH1h4ファイル名を変数に入れ、その変数で示されるファイルのサイズが
ゼロかどうかで処理を分岐させるバッチを作ろうとしていますが、
上手くいきません。
set F=z:\aaa
if %~zF==0 goto SIZE_ZERO
:SIZE_ZERO
〜
上記を実行すると"バッチ パラメータの置き換えで、パス演算子の
次の使用法は無効です.有効な形式については、CALL /? または FOR
/? と入力してください。"と表示されますが、ヘルプを見ても具体的
にどうすべきなのかが分かりませんでした。
解決方法をご教示ください。
0907名無し~3.EXE
2012/10/17(水) 20:47:36.91ID:ecr2oTC9set F=z:\aaa
call :CHECK_ZERO %F%
goto :eof
:CHECK_ZERO
if %~z1%==0 goto SIZE_ZERO
goto :eof
:SIZE_ZERO
〜
FORを使うとこんな感じ
set F=z:\aaa
for %%a in (%F%) do if %%~za==0 goto SIZE_ZERO
0908名無し~3.EXE
2012/10/17(水) 22:55:31.49ID:LmUXH1h4一度別の変数に入れなおしてから比較するのですね…
0909名無し~3.EXE
2012/10/17(水) 23:54:17.08ID:VR4de62Z普通の環境変数には修飾子が使えないわけで...(別変数に入れなおしてもダメ)
修飾子が使えるのは、バッチパラメタとfor参照変数だけ
0910名無し~3.EXE
2012/10/19(金) 22:40:18.23ID:c1DsyCzz正 for変数参照
0911名無し~3.EXE
2012/10/20(土) 22:43:24.14ID:TBgnsXGG0912名無し~3.EXE
2012/10/20(土) 22:44:27.52ID:duQLcIVJ0913名無し~3.EXE
2012/10/28(日) 01:58:19.19ID:OsymH7caバッチファイル作ってみたがちゃんと動作しない
行途中のセミコロンが削除され、最後のセミコロンだけLFに置き換わる
たすけて
====test_inpput.txt====
AAA; BBB; CCC;
DDD; EEE;
=====作ってみたバッチファイル==============
@echo off
set output=test_output.txt
type nul >%output%
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%A in (test_input,txt) do (
set line=%%A
echo !line:;=!LF!>>%output%
)
endlocal
0914名無し~3.EXE
2012/10/28(日) 10:11:47.16ID:PvXRJQzFcscript.exe //nologo //e:jscript "%~f0" < test_inpput.txt
goto :EOF
@end
WScript.Echo(WScript.StdIn.ReadAll().replace(/;/g,"\r\n"));
0916名無し~3.EXE
2012/10/28(日) 12:27:58.34ID:eAz3CEDu>>913の何が悪いのか、ご教授頂ければ幸いです。
0917名無し~3.EXE
2012/10/28(日) 13:22:58.62ID:IveMoZwI!line:;=!LF!
これは変数の置換 !line:;=! と 文字列 LF! だから。
0918名無し~3.EXE
2012/10/28(日) 13:40:10.16ID:IveMoZwIset out=out.txt
type nul>%out%
set LF=^
rem 改行抜かさない事
for /f "delims=" %%i in (in.txt) do call :sub "%%~i"
goto :eof
:sub
set line=%~1
echo %line:;=!LF!%>>%out%
goto :eof
0919名無し~3.EXE
2012/10/28(日) 21:35:58.53ID:PvXRJQzFちゃんとやると面倒
0920名無し~3.EXE
2012/10/28(日) 22:15:53.53ID:IveMoZwI0921名無し~3.EXE
2012/10/29(月) 01:19:15.44ID:RWLMA0hX以下のようなinput.txtをoutput.txtのように変換したいと思っています。
output.txtはエクセルで読み込む事を想定しています。
input.txtは{}で括った2段階の階層構造となっています。
({,や},のコンマはinput.txtを作る段階で付随してしまいました)
また、"見出し","値"という形式で並んでおり、
見出しのTITLE,SUBTITLE,AAA,BBB,CCC,DDDは完全に固定された文字列ですが、
値のtest1,test2,aa,dddなどは数値だったり文字列だったりします。
以下のサンプルのinput.txtファイルは2つのTITLEを持ちますが、
ファイルによってはTITLEが3つ以上ある場合もあります。
まずはTITLE〜TITELの直前まで1つのtxtファイルとして切り出してみようとして、
くじけてしまいました。。。
0922名無し~3.EXE
2012/10/29(月) 01:21:21.77ID:RWLMA0hX{,
TITLE,test1
SUBTITLE,test2
{,
AAA,aa
BBB,bb
CCC,CC
},
{,
DDD,ddd
},
},
{,
TITLE,test3
SUBTITLE,test4
{,
AAA,aaaa
DDD,dddd
},
},
======================================
===output.txt======================
TITLE,SUBTITLE,AAA,BBB,CCC,DDD
test1,test2,aa,bb,cc,
test1,test2,,,,ddd
test3,test4,aaaa,,,dddd
====================================
0923名無し~3.EXE
2012/10/29(月) 04:13:33.09ID:lS8S2JMXcscript.exe //nologo //e:jscript "%~f0" < input.txt > output.txt
goto :EOF
@end
n=['TITLE','SUBTITLE','AAA','BBB','CCC','DDD'];v={};s=0;
for (i=0;i<n.length;i++) v[n[i]]='';
WScript.Echo(n);
while (!WScript.StdIn.AtEndOfLine){
line=WScript.StdIn.ReadLine().split(',');
switch(line[0]){
case '{' : s++; break;
case '}' : if(s--==2){
for (i=0,tmp=[];i<n.length;i++) tmp.push(v[n[i]]);
WScript.Echo(tmp);
for (i=2;i<n.length;i++) v[n[i]]=''}; break;
default: v[line[0]]=line[1]; break;
}}
0924名無し~3.EXE
2012/10/29(月) 08:25:21.47ID:EqDA/2Wi@echo off
set index=0&set t0=
for /f "tokens=1,2 delims=," %%a in (input.txt) do if "%%b" neq "" call :sub %%a %%b
set t=%t1%&for /l %%a in (2,1,%index%) do call set t=%%t%%,%%t%%a%%
echo %t%
set nest=0&set k1=&set k2=&for /l %%a in (1,1,%index%) do set d%%a=
for /f "tokens=1,2 delims=," %%a in (input.txt) do call :next %%a %%b
goto :eof
:sub
set hit=-1&for /l %%s in (0,1,%index%) do call :sub2 %%s %1 %%t%%s%%
if %hit% neq -1 set d%hit%=%2&call set k%nest%=%%k%nest%%% %hit%&goto:eof
set /a index+=1
set t%index%=%1
goto :eof
:sub2
if "%2"=="%3" set hit=%1
goto :eof
:next
if %1 equ { set /a nest+=1&set disp=on&goto :eof
if %1 neq } call :sub %*&goto :eof
if %disp%==off goto :next2
set d=%d1%&for /l %%c in (2,1,%index%) do call set d=%%d%%,%%d%%c%%
echo %d%
:next2
call :del %%k%nest%%%&set /a nest-=1&set disp=off&goto :eof
:del
(for %%c in (%*) do set d%%c=)&set k%nest%=&goto :eof
0925921
2012/10/30(火) 00:59:08.31ID:1w0mYBgn>>923
WHSは理解が乏しいですが、C言語のように配列を使えるのは読み易いですね
実際に組み込んでみたところ、ほぼ思い通りの動作が実現できました
見出しの"SUBTITLE"が階層の1層目にも2層目にもあり、出力では1層目の値に2層目の値が入ってしまいました
前段階のinput.txtを出力するときに、区別つけることで回避できそうです
>>924
データ構造の情報提供不足でした
"値"にはスペースやコロン、全角文字を含むものもありました
実際に組み込んでみたところ、ループから抜け出せない&出力をどこに挿入していいかわかりませんでした
batだけでできるのはすごい魅力的です
0926名無し~3.EXE
2012/10/30(火) 18:51:58.81ID:mmNicCA80927名無し~3.EXE
2012/10/31(水) 07:09:17.72ID:LodykZFr修正版を作ってみた(但し、input.txtはSJISコードのファイルとする)
使える記号やSJIS漢字に制限はなし(スペース!#$&'()^<>^?_~|=%\@[]+*;:./" は大丈夫)
各層ごとに項目チェックするようにした
(1層目と2層目の両方に同じTITLEがあっても別物として取り扱う)
bat中に出力ファイル名を記述するようにした
なお参考までに、あるbatの標準出力(画面表示)をファイルに書き出すには
test.bat>output.txt
のようにしてファイルにリダイレクトすればよい
仕様が不明だけど、
1層目の項目データに抜けがあった場合、当ブロックだけの項目とし前のブロックの項目は引き継がない
1層目だけで2層目が無い場合もデータは出力する
もし万一2層目のデータ中にカンマが存在したらカンマは削除する(例 10,000 → 10000)
なお、3層目以降があっても構わないが、変数(k3,n3,k4,n4等)を初期化してないので同じ環境上2度目以降の実行は動作保証されない
0928名無し~3.EXE
2012/10/31(水) 07:09:50.00ID:LodykZFrset INPUT_FILE="input.txt"
set OUTPUT_FILE="output.txt"
set INPUT_TMP=tmp_in.tmp
set OUTPUT_TMP=tmp_out.tmp
(for /f "usebackq tokens=*" %%a in (%INPUT_FILE%) do set data=%%a&call :conv)>%INPUT_TMP%
call :main %INPUT_TMP%>%OUTPUT_TMP%
(for /f "usebackq tokens=*" %%a in (%OUTPUT_TMP%) do set data=%%a&call :reconv)>%OUTPUT_FILE%
del %INPUT_TMP% %OUTPUT_TMP%
goto :eof
:conv
set data="%data:"=鳬”%"
set data=%data:^=鳬^%
set data=%data:&=鳬&%
set data=%data:|=鳬|%
set data=%data:<=鳬<%
set data=%data:>=鳬>%
call :conv_ex
echo %data:"=%
goto :eof
:conv_ex
rem もしデータ中に","があったら削除する
for /f "tokens=1* delims=," %%a in (%data%) do set data1=%%a&set data2=%%b
if defined data2 set data2=%data2:,=%
set data=%data1%,%data2%
goto :eof
0929名無し~3.EXE
2012/10/31(水) 07:10:34.77ID:LodykZFrset data="%data:鳬<=^<%"
set data=%data:鳬>=^>%
set data=%data:鳬|=^|%
set data=%data:鳬&=^&%
set data=%data:鳬^=^^%
set data=%data:鳬”="%
echo %data:~1,-1%
goto :eof
:main
set index=0&set nest=0&set nest_max=0&set t0=++dummy++&set k1=&set k2=&set n1=&set n2=
for /f "usebackq tokens=1* delims=," %%a in (%*) do set data1=%%a&set data2=%%b&call :sub
set t=&for /l %%a in (1,1,%nest_max%) do call :sub_make_title %%a
echo %t:~1%
set nest=0&set k0=&for /l %%a in (1,1,%index%) do set d%%a=
for /f "usebackq tokens=1* delims=," %%a in (%*) do set data1=%%a&set data2=%%b&call :next
goto :eof
:sub_make_title
call set forlist=%%n%1%%
for %%b in (%forlist%) do call set t=%%t%%,%%t%%b%%
goto :eof
0930名無し~3.EXE
2012/10/31(水) 07:11:30.21ID:LodykZFrif "%data1%" == "{" set /a nest+=1&goto :eof
if "%data1%" == "}" set /a nest-=1&goto :eof
if %nest% gtr %nest_max% set nest_max=%nest%
set hit=-1
call set forlist=%%n%nest%%%
for %%s in (%forlist%) do call :sub2 %%s "%%t%%s%%"
if %hit% neq -1 set d%hit%=%data2%&call set k%nest%=%%k%nest%%% %hit%&goto:eof
set /a index+=1
set t%index%=%data1%
call set n%nest%=%%n%nest%%% %index%
goto :eof
:sub2
if "%data1%" equ %2 set hit=%1
goto :eof
:next
if "%data1%" equ "{" set /a nest+=1&set disp=on&goto :eof
if "%data1%" neq "}" call :sub&goto :eof
if %disp%==off goto :next2
set data=%d1%&for /l %%c in (2,1,%index%) do call set data=%%data%%,%%d%%c%%
echo %data%
:next2
call :del %%k%nest%%%&set /a nest-=1&set disp=off
goto :eof
:del
(for %%c in (%*) do set d%%c=)&set k%nest%=
goto :eof
0931名無し~3.EXE
2012/11/03(土) 15:52:11.59ID:lDmefxUU0932名無し~3.EXE
2012/11/03(土) 16:29:56.47ID:lDmefxUU0933名無し~3.EXE
2012/11/05(月) 11:32:29.64ID:K4UsPEaeこっちにとばっちりくるだろ
0934名無し~3.EXE
2012/11/05(月) 22:08:14.30ID:+/36/XSe0936名無し~3.EXE
2012/11/06(火) 16:38:16.05ID:6BctWnleそか!
力作のバッチを褒めて欲しかったのか?
褒めてやろうか?
ご苦労。
お疲れ。
0937名無し~3.EXE
2012/11/07(水) 16:45:53.93ID:ehtnocP90938名無し~3.EXE
2012/11/08(木) 00:39:53.44ID:HS6Vpnnz0939名無し~3.EXE
2012/11/08(木) 00:50:59.01ID:YeWMHax9どうせ碌でもないものしかできないのにか?
0941名無し~3.EXE
2012/11/08(木) 15:15:29.82ID:7dLwXUk/0943名無し~3.EXE
2012/11/08(木) 15:23:28.66ID:p5LJOvHc0944名無し~3.EXE
2012/11/08(木) 17:25:35.09ID:YeWMHax90945名無し~3.EXE
2012/11/08(木) 17:33:56.89ID:9yFk4XNl0946名無し~3.EXE
2012/11/08(木) 17:36:51.31ID:p5LJOvHcそれってほとんど無意味な貶しに見えるね
ここはBATメインなスレなんだからBATでも出来るって所に意味を見出すべきだろう
0947名無し~3.EXE
2012/11/08(木) 17:48:51.89ID:p5LJOvHcもっとちゃんとした理由でもあるのかと思ってた
例えば、こうやればもっとスマートにできるのに不細工だなあ程度の理由はあると思ってたよ
0948名無し~3.EXE
2012/11/08(木) 18:53:23.35ID:bkdEOyUbラムディスクをzドライブにしております
スタートアップでアプリを起動する最後にスクリプトやバッチなどで
G:\FREESOFT\X-Iron_22.0.1250.0_rev10のフォルダをZのルートにコピーし
それが完了したらイロンを起動するというものがほしいのですが
こちらで作成お願いしても良いのでしょうか?
もし可能でしたらよろしくお願い申し上げます。
0949名無し~3.EXE
2012/11/08(木) 19:52:12.97ID:g182hW4Z0950名無し~3.EXE
2012/11/08(木) 19:54:37.95ID:YeWMHax90951名無し~3.EXE
2012/11/09(金) 23:01:38.92ID:dRxZaYUJ0952名無し~3.EXE
2012/11/09(金) 23:33:47.50ID:VFC2+eP30953名無し~3.EXE
2012/11/10(土) 02:04:23.79ID:6pisMDUN0954名無し~3.EXE
2012/11/10(土) 21:40:54.01ID:FQM4B6z9> もし可能でしたらよろしくお願い申し上げます。
これが質問なんだろう。 答えはNoだ!
0955名無し~3.EXE
2012/11/10(土) 22:58:00.24ID:6pisMDUN>こちらで作成お願いしても良いのでしょうか?
0956名無し~3.EXE
2012/11/11(日) 23:23:32.29ID:9j20zI4sセーフモードでコマンドラインとかも無いし、不便やね。
0957名無し~3.EXE
2012/12/03(月) 05:04:41.37ID:088uiTfb/TEEっていうスイッチ
いったいどういう略称なんでしょうか
気になってしょうがないです
0958名無し~3.EXE
2012/12/03(月) 05:33:31.28ID:kAKag1QBDOSにもこの機能が要望する人は多かったので、unixライクな拡張コマンドにも入っていた
teeとは、Tの字のこと(あまりにもそのままだけど)
Tの字のように、1つの流れを2つに分岐させることから、teeというコマンドが生まれた
Tの字、T字管、T継手
T字路のこともT-junctionと言う
0960名無し~3.EXE
2012/12/04(火) 23:03:06.10ID:CTYNT5Fysed的なコマンドはないの
0961名無し~3.EXE
2012/12/04(火) 23:09:25.45ID:rtnan1w9ていうか文字列をそのまま扱うコマンドが無いね。
ダメ文字がありすぎる。
0962名無し~3.EXE
2012/12/05(水) 01:41:00.13ID:vNr/y6Dq0963名無し~3.EXE
2012/12/08(土) 10:21:39.61ID:svQLhPUI直でくれや
0964名無し~3.EXE
2012/12/08(土) 16:16:14.95ID:ZJqkoRzO0965名無し~3.EXE
2012/12/09(日) 14:23:32.80ID:1TWkJChshttp://gigazine.net/news/20121208-batchrun/
0968名無し~3.EXE
2012/12/09(日) 18:18:48.33ID:sbtIqpkJ0969名無し~3.EXE
2012/12/10(月) 07:46:42.38ID:MFFn8ImV0971名無し~3.EXE
2012/12/10(月) 13:37:19.73ID:qJCnufufちょっとしたアホなミスで大切なファイルが全て消滅って危険性と隣り合わせだけど
そのツールならそういう危険性は無いのかな?
0972名無し~3.EXE
2012/12/10(月) 15:06:09.57ID:vc6LY9aYif existで「〜または…にsleep.exeが存在する場合」ってどう書くんでしょうか
これだと【|】の使い方が誤っています、とエラー
【OR】もだめでした
0973名無し~3.EXE
2012/12/10(月) 16:04:06.88ID:Hf3SyY1J0974名無し~3.EXE
2012/12/10(月) 17:26:17.50ID:J59/mjBu0975名無し~3.EXE
2012/12/10(月) 19:21:36.08ID:Hf3SyY1Jif if
OR
if
if
0976名無し~3.EXE
2012/12/11(火) 01:09:07.71ID:ikUC2pmdsleep /? 1>nul 2>&1
if not errorlevel 1 なにか
ところでリソースキットの sleep って 「/? 」、それとも 「--hekp」 ?
0977名無し~3.EXE
2012/12/11(火) 01:09:59.33ID:ikUC2pmd0978名無し~3.EXE
2012/12/11(火) 11:14:15.90ID:iTnFE6UV0979名無し~3.EXE
2012/12/11(火) 13:54:14.48ID:PWqhlQxJif not exist A if not exist B goto skipped
echo どっちかはあるよ〜
:skipped
が素直かね
0981名無し~3.EXE
2012/12/11(火) 14:43:23.79ID:KvXiuy4m0982名無し~3.EXE
2012/12/11(火) 19:55:12.52ID:xDIPN8gf0983名無し~3.EXE
2012/12/11(火) 20:33:02.27ID:3r7Viost0984名無し~3.EXE
2012/12/11(火) 21:15:56.44ID:/69yJCZA0985972
2012/12/11(火) 21:47:44.17ID:AbjQndC8返答ありがとうございます
robocopyのミラーリングである程度のミス防止になると思い
存在すればsleepで30秒待たせて警告文をゆっくり読ませてrobocopy
という処理をしたいと思ってました
ただ、自分自身にpingを30回打つやりかたのほうが
インストールされてるかの確認も要らないようなので
そちらにすることにしました
0986名無し~3.EXE
2012/12/11(火) 22:15:17.81ID:pvUSCTT70987名無し~3.EXE
2012/12/12(水) 02:20:06.68ID:7zfp6XE00988名無し~3.EXE
2012/12/12(水) 02:50:10.43ID:0buqHTd70989名無し~3.EXE
2012/12/12(水) 02:55:06.72ID:2SM3fnDv0990名無し~3.EXE
2012/12/12(水) 02:59:47.55ID:vcH66JUQ0991名無し~3.EXE
2012/12/12(水) 03:01:46.18ID:N/Av3Drc0992名無し~3.EXE
2012/12/12(水) 04:06:37.86ID:yrlmbhP40993名無し~3.EXE
2012/12/12(水) 05:23:57.82ID:q1m7DpRa0994名無し~3.EXE
2012/12/12(水) 06:32:11.47ID:41pAq6zE0995名無し~3.EXE
2012/12/12(水) 07:23:00.46ID:JRs5u4VM初心者〜管理者まで必読!コマンドライン(DOS Pt.9)
http://toro.2ch.net/test/read.cgi/win/1355264457/
0996名無し~3.EXE
2012/12/12(水) 08:04:10.24ID:DRWyusVI0997名無し~3.EXE
2012/12/12(水) 19:33:00.41ID:Tjug4RWz0998名無し~3.EXE
2012/12/12(水) 19:35:44.37ID:Tjug4RWz0999名無し~3.EXE
2012/12/12(水) 19:37:52.79ID:Tjug4RWz1000名無し~3.EXE
2012/12/12(水) 19:44:22.51ID:Tjug4RWz10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。