[過去ログ]
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1489207631/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
246: 名無しさん@そうだ選挙に行こう! Go to vote! [sage] 2017/10/22(日) 16:29:48.93 ID:rLFHcAK9 >>244 ls <directory-name> -directory | ren -newname {$_.name -replace '^(¥d+)月(¥d+)日', '$1$2' } lsの-filterやwhere-object使ってもいいけど この例の場合は不要だと思うよ http://mevius.5ch.net/test/read.cgi/tech/1489207631/246
247: デフォルトの名無しさん [] 2017/10/23(月) 07:20:31.59 ID:A3jhOkfm ls -directory | ren -WhatIf -newname {$_.name -replace '^(\d+)月(\d+)日', '$1$2' } 上記で、where-object が無いと、 変更されないフォルダまで、表示されるのが気持ち悪い http://mevius.5ch.net/test/read.cgi/tech/1489207631/247
248: デフォルトの名無しさん [sage] 2017/10/23(月) 22:30:10.89 ID:TV21zs/8 Windows7SP1では、Get-ChildItemに-directoryオプションは無いんでエラーが表示された 調べたら、3.0以降でこのオプションが付いた模様 この際なので、5.0,5.1をインストールした Windows7の人の参考まで http://mevius.5ch.net/test/read.cgi/tech/1489207631/248
249: デフォルトの名無しさん [sage] 2017/10/24(火) 18:41:12.61 ID:QQrV41zo PowerShellのスクリプトファイルの拡張子は普通.ps1を使うが デフォルトではファイルの実行を許可してないし、 また許可後もダイレクトにファイル名を指定しても実行できない って保険かけすぎで入門者には敷居が高いだろと思わないでもないなあ >>247 where-objectを入れてみた (まだ2時間ぐらいしかやってないんでもっといい書き方があるかも) $re='^(\d+)月(\d+)日';ls -directory|? name -match $re|ren -whatif -newname {$_.name -replace $re,'$1$2'}
このスレ的にはアリアス使うなら、lsよりもdirが合ってる気もするけど http://mevius.5ch.net/test/read.cgi/tech/1489207631/249
250: デフォルトの名無しさん [sage] 2017/11/03(金) 20:22:18.43 ID:+gpl8JNW ここで聞くべきか迷ったのですが… 自分のマシンからリモートデスクトップで接続できるサーバー(確かWin2008R2)があって そのサーバーと同じネットワーク内にクライアント端末(Win7)があります。 そのクライアント端末のプロセスをリモートデスクトップで接続したサーバーから確認することは可能でしょうか? (サーバーには管理者権限で接続しています) 要はクライアント端末でtasklistコマンドを打った結果が見たいのですが。 ちなみにクライアント端末はDHCP設定な
ので起動のたびにIPアドレスが変わります… 今は1日に何度も遠くにあるクライアント端末まで行ってプロセスを確認しています。 1回だけ行ってIPアドレスをメモるぐらいなら全然構わないので何か方法があれば教えて下さい。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/250
251: デフォルトの名無しさん [sage] 2017/11/03(金) 21:42:45.24 ID:91m0YuAi クライアントに自分のタスクリストをファイルを記録する周期ジョブを作成しておく 必要であれば暗号化しておく そのファイルをメールで自動送付するようにしておくか、 クライアントにwebエリアがあればそこに置きこちらから見にいく http://mevius.5ch.net/test/read.cgi/tech/1489207631/251
252: デフォルトの名無しさん [sage] 2017/11/03(金) 21:52:08.46 ID:z1gogpom >>250 サーバから tasklist /s クライアント端末名 (/u user /p pass) を実行では見れないんですか? ファイアウォールの設定が必要かもしれませんけど。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/252
253: デフォルトの名無しさん [sage] 2017/11/03(金) 22:47:57.34 ID:+QQUmgGP >>250 1) 他のPCのプロセス状態を知りたい 2) DHCPで設定されているPCのIPアドレスを知りたい ってことでいいかな 1) はtasklist の /s オプションで知りたいPCのIPアドレスを指定すれば行けるはず ただし事前にPC側に設定が必要 かつPCにログインできる情報が必要 2) は 2-1) 直接見に行ってipconfigで確認する 2-2) MACアドレスわかってるならサーバーからそのネットワークアドレス全体にpingを打ちつつarpコマンドで相手のMACアドレス確認していけばいい 2-3)
DHCPサーバーを管理してるならPCのIPアドレスを確認する方法があるかも、まあそれならPCのIPアドレスを固定した方がいいかも 2-4) >>251みたいな方法で定期的にIPアドレスを通知してもらう http://mevius.5ch.net/test/read.cgi/tech/1489207631/253
254: 250 [sage] 2017/11/04(土) 18:18:26.62 ID:HSP2f8JH みなさん情報ありがとうございます。 来週になったらとりあえず>>252さんの方法を試してみます。(一番手軽なので…汗) それでダメな場合は一日一回直接IPアドレスを確認しにいく方式にします。 というのもpingのブロードキャストは現場のルールで禁止されてるっぽいので。 クライアント端末も特別な用途のためのものなのでタスク作ったり何かを仕掛けるのは厳しそうです。 仕掛けられれば業務はすごく楽になるんですけど「セキュリティ上問題が…」とか言われて突っぱねられる可能性
大です。>< 尚、pingブロードキャスト以外の方法でIPを知る方法については自分でも調べてみます。 どうもありがとうございます。助かりました! http://mevius.5ch.net/test/read.cgi/tech/1489207631/254
255: デフォルトの名無しさん [sage] 2017/11/04(土) 18:30:41.27 ID:sTeHaJ1X >>254 >>252-253に書いてあるけど事前にクライアント側の設定しないとtasklist /sでプロセス情報見れないけど、そこは大丈夫なの? http://mevius.5ch.net/test/read.cgi/tech/1489207631/255
256: デフォルトの名無しさん [sage] 2017/11/05(日) 10:20:45.02 ID:rFS24mxQ set infilenm=001.txt set outfilenm=002.txt set beforestr="""" set afterstr="" type nul >%outfilenm% setlocal enabledelayedexpansion for /f "delims=" %%A in (%infilenm%) do ( set line=%%A echo !line:%beforestr%=%afterstr%!>>%outfilenm% ) endlocal 001.txtからダブルクォーテーションを削除して002.txtに保存したいだけなんですが、 3行目と4行目の表記がわからず、考えられる限り書き直して、うま
くいきません。 あるいは別のBATでもいいのですが教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/256
257: デフォルトの名無しさん [sage] 2017/11/05(日) 11:42:01.62 ID:vm51NJQ8 >>256 set beforestr=^^" set afterstr=^^ でどうかな? http://mevius.5ch.net/test/read.cgi/tech/1489207631/257
258: デフォルトの名無しさん [sage] 2017/11/05(日) 11:56:26.30 ID:vm51NJQ8 ただ001.txtのデータ次第でうまくいかない場合があるんで 別のスクリプト言語(PowerShellやWSH等)で書いたほうがいい http://mevius.5ch.net/test/read.cgi/tech/1489207631/258
259: 256 [sage] 2017/11/05(日) 12:18:29.39 ID:rFS24mxQ >>257 >>258 素早いお答えありがとうございます。 >>257 >set beforestr=^^" >set afterstr=^^ ダブルクォーテーション消えました! ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/259
260: デフォルトの名無しさん [sage] 2017/11/05(日) 13:20:27.79 ID:vm51NJQ8 >>259 どういうことに使うのか知らないけど、大切なデータなら止めとくべき 改行だけの行が消えるのは知ってると思うけど以下のような行があると(回避は可能だが) ab!cd!ef a! "b ^ http://mevius.5ch.net/test/read.cgi/tech/1489207631/260
261: デフォルトの名無しさん [sage] 2017/11/05(日) 13:40:33.57 ID:rFS24mxQ >>260 ご心配ありがとうございます。 大丈夫です。ものは、<a href とかのhtmlタグで作成したリンクリストで、 正規表現とかエスケープっぽい記号等はなく、 そもそもプライベートファイルなので、これで素早くリストができて万々歳です。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/261
262: デフォルトの名無しさん [sage] 2017/11/06(月) 15:18:34.73 ID:K1roLwuw >>260 これじゃダメか? ていうかダメな例を教えてほしい for /f "delims=" %%i in (1.txt) do ( set a=%%i setlocal enabledelayedexpansion echo !a:^"=!>>2.txt endlocal ) http://mevius.5ch.net/test/read.cgi/tech/1489207631/262
263: デフォルトの名無しさん [sage] 2017/11/06(月) 15:59:22.60 ID:K1roLwuw 半角スペースだけの行は化けるな http://mevius.5ch.net/test/read.cgi/tech/1489207631/263
264: デフォルトの名無しさん [sage] 2017/11/06(月) 19:12:27.47 ID:Mdq5cGE3 echo,とか、echo;とかで http://mevius.5ch.net/test/read.cgi/tech/1489207631/264
265: デフォルトの名無しさん [sage] 2017/11/06(月) 23:15:25.56 ID:RrRem/45 バッチファイルに渡された引数が1つなのか2つなのかを判定したいのですが どのように記述すれば良いのでしょうか? 以下ではダメでした。 if defined %2 echo 引数は2つです else echo 引数は1つです http://mevius.5ch.net/test/read.cgi/tech/1489207631/265
266: デフォルトの名無しさん [sage] 2017/11/07(火) 01:14:40.14 ID:xsgE2wk0 if not '%2==' http://mevius.5ch.net/test/read.cgi/tech/1489207631/266
267: デフォルトの名無しさん [sage] 2017/11/07(火) 07:09:27.79 ID:4pg/kk0r >>264 ありがとう for /f "delims=" %%i in (001.txt) do ( set "a=%%i" setlocal enabledelayedexpansion set "a=!a:"=!" echo.!a!>>002.txt endlocal ) これで空行以外は完璧かな? http://mevius.5ch.net/test/read.cgi/tech/1489207631/267
268: デフォルトの名無しさん [sage] 2017/11/07(火) 10:05:04.55 ID:1287flJj >>262の奴で "echo "を"echo."にするとダメなのに"echo,"にするとOKなのは何故なんだぜ? 今まで、ピリオドとカンマ、セミコロンに違いがあるとは思ってなかったから ずっとピリオド使ってたのに http://mevius.5ch.net/test/read.cgi/tech/1489207631/268
269: デフォルトの名無しさん [sage] 2017/11/07(火) 22:51:26.28 ID:4pg/kk0r >>267 "eol=" を指定しないと行頭文字が ; だと読み飛ばす "delims=" を指定しないと行頭の空白が無くなる 両方同時に指定する方法はあるのか? http://mevius.5ch.net/test/read.cgi/tech/1489207631/269
270: デフォルトの名無しさん [sage] 2017/11/08(水) 00:22:28.07 ID:X1Aytah6 for /f delims^=^ eol^= http://mevius.5ch.net/test/read.cgi/tech/1489207631/270
271: 265 [sage] 2017/11/08(水) 00:40:11.94 ID:pQrS+Zxc >>266 バッチリでした!THANKS! http://mevius.5ch.net/test/read.cgi/tech/1489207631/271
272: デフォルトの名無しさん [sage] 2017/11/08(水) 19:40:30.74 ID:VTzaN0jn >>268 「,」「;」「=」は特別区切り文字だから。 例えば、C:\直下に「a」ってフォルダ作って 「b.cmd」 for /f %%a in ('echo,b') do echo,%%a 「b b.cmd」 echo;c %1 pause のバッチ作成して、コマンドプロンプトで「C:\a」に移動してから 「b.cmd」を実行すると、()の中の「,」が消えた状態で表示される 「b b.cmd」を実行すると、「b.cmd」が実行される 「"b b.cmd"」を実行すると、「b b.cmd」が実行される 今度はファイル名を指定して実行
で cmd /c "C:\a\b b.cmd" cmd /c "C:\a\b b.cmd" dを実行すると、pauseで止まるけど cmd /c "C:\a\b b.cmd" "d"を実行すると、一瞬で終わる cmd /c,"C:\a\b b.cmd" "d"なら動く 結構知られていないんだよね。 http://mevius.5ch.net/test/read.cgi/tech/1489207631/272
273: デフォルトの名無しさん [sage] 2017/11/08(水) 22:40:59.50 ID:ZHWfUJ7q >>270 ありがとう。完全に動作しました そもそも eol の既定値が ; だとかヘルプに書いてないぞ ちなみに "eol=" とすると eol が空になるのかと思ったら 今度は行頭に " があると読み飛ばすようです 何なんだ、これは。for 文のバグですかね http://mevius.5ch.net/test/read.cgi/tech/1489207631/273
274: デフォルトの名無しさん [sage] 2017/11/09(木) 12:26:56.09 ID:NEfZ8eBs @echo off prompt $g set a=/? set b=exe set c= off echo on echo,%a% echo;%a% echo.%a% echo.%b% echo.%c% echo pause http://mevius.5ch.net/test/read.cgi/tech/1489207631/274
275: デフォルトの名無しさん [sage] 2017/11/10(金) 12:50:53.03 ID:5BeFn7Xg 一時的なwindows資格情報の付与 付与→(再起動)→ポップアップを閉じるまで作業→(再起動) の流れをバッチ実行一発で済ませたいと思ってる。 (○.bat) cmdkey 書き込み copy **.batを配置 schtasks 再起動後のタスク登録(**.bat実行) shutdown 再起動 ↓ (ログイン) (**.bat) echoでmsgbox表示(閉じるまで待つ) cmdkey /delete ←ここで資格情報が消えない schtasks /Delete タスク消去 del /f "%~dp0 自己消去 タスクは一応highest タスク実行だとcmdkey
通らないとかある? bat素人で何が原因で消えないのかわからない・・・ ポップアップ表示中にcmd開いてcmdkey打つとちゃんと消える http://mevius.5ch.net/test/read.cgi/tech/1489207631/275
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 727 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s