[過去ログ] 【.cmd】 バッチファイルスクリプト %14 【.bat】 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
59: デフォルトの名無しさん [sage] 2020/09/13(日) 15:25:35.94 ID:W8TB3CjN(1/2) AAS
バッチファイルでメッセージボックスを表示してレジストリのバックアップをするとエラーになります
なんででしょうか
ご教示よろしくお願いいたします
Win7 HP SP1 x64
コード
@echo off
set title=VBScript
set text=%~nx0ファイルを実行しますか?
set type=52
set tmp=%TEMP%\temp.vbs
echo WScript.Quit(MsgBox("%text%",%type%,"%title%")) > %tmp% & cscript //nologo %tmp%
if errorlevel 7 goto end
reg export "HKCR\*" "%USERPROFILE%\Desktop\hoge.reg" /y
echo.
pause
goto end
:end
del %tmp%
exit
エラーメッセージ
エラー: ファイルに書き込めません。ディスクまたはファイル システムにエラーがある
可能性があります。
60: デフォルトの名無しさん [sage] 2020/09/13(日) 15:53:37.94 ID:UUr/oA+t(1) AAS
たぶんディスクまたはファイルシステムにエラーがある
77(1): デフォルトの名無しさん [sage] 2020/09/18(金) 22:08:23.94 ID:uEsKVG5e(1/2) AAS
windows板でいい答えが出なかったんでこっちに来ました。
windows10でログオンしなければ走らないプログラム(TV録画予約ソフト)があるので、Windows の自動ログオンを有効にし、
Autoexec.batに
rundll32 user32.dll, LockWorkStation
と記述して直ちにロックすることとしています。
しかしながら、これは不意の停電などで再起動したときの為であって、
自分自身がPCの前にいる場合は、ロック解除をしなければならないのが面倒です。
そこで、バッチファイルで
15秒待つ
その間に何もキーが押されなかったら、
rundll32 user32.dll, LockWorkStation
を実行
何かキーが押されたら、バッチファイルを終了
としたいのですが、どうしたらいいでしょう
N88BASIC(86)だとこんなイメージ
(10行の "to 1000"は適当に調節)
10 for i=1 to 1000
20 a$=inkey$
30 if a$<>"" then goto 70
40 next i
50 rundll32 user32.dll, LockWorkStation
60 end
70 i=1000:next i
80 end
ちなみに今は、autoexec.bat に
TIMEOUT /T 15 /NOBREAK
rundll32 user32.dll, LockWorkStation
として、すぐに作業したい場合は15秒の間にcmdの右上のxをクリックしてコマンドプロンプトを閉じています
202(1): デフォルトの名無しさん [sage] 2021/02/19(金) 19:05:53.94 ID:E9a6ZzGX(4/5) AAS
>>201の一番降順のファイル名ってので、goto :BRが必要だってのは分かったけど
>>192192(4): デフォルトの名無しさん [sage] 2021/02/18(木) 10:29:50.83 ID:GbAv/KX+(1) AAS
@echo off&setlocal
set E=
:MAIN
set N=
pushd "%~1" || pause&exit /b
for %%a in (*) do set "N=%%~na"&goto :BR
:BR
popd
if defined N (ren "%~1" "%N%") else set /a "E+=1"&echo err:"%~1"
shift
if exist "%~1" goto :MAIN
if defined E pause
の内容ちゃんと見てなかった
けど、>>178178(3): デフォルトの名無しさん [sage] 2021/02/17(水) 16:19:47.24 ID:18/0dmLg(1/2) AAS
以前こちらで教えていただいた「内包しているファイルの一番降順のファイル名をフォルダ名にするバッチ」ですが >>138
ドラッグしていない同階層の別フォルダまで勝手にリネームしてしまったり、数回使うとファイル名が見つかりませんと出てリネーム出来なくなってしまいます。
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b *') do (
set "dr=%%~nxa"
for /f "delims=" %%c in ('dir /a-d /b "!dr!"') do set "file=%%~nc"
if defined file ren "!dr!" "!file!"
set file=
set dr=
)
endlocal
こちら、ドラッグした同階層のフォルダまで全てリネームしてしまうようになってしまいますか?
ドラッグしたフォルダのみ、何度でも使えるようなバッチにするには何処を書き換えればよいか分かる方いらっしゃいませんでしょうか
のとは処理が違うのでは?
たぶん質問者は複数のフォルダをD&Dするんじゃなくて、一つのフォルダをD&Dしたら、
そのフォルダをリネームするんじゃなくて
そのフォルダの中のサブフォルダを全部リネームして欲しいんだと思う
413: デフォルトの名無しさん [sage] 2021/09/18(土) 21:08:19.94 ID:OLaJCV9P(1) AAS
恩恵w
言い訳が論点ズレてく感じホンモノのガイジ臭
436: デフォルトの名無しさん [sage] 2021/10/13(水) 20:51:02.94 ID:NsQsq1qz(1/2) AAS
for /L %i in (0.5=1=11) do echo %i
543(3): デフォルトの名無しさん [sage] 2021/12/04(土) 22:30:00.94 ID:Nf0n5MKs(1) AAS
日付の質問です。
CSVの日付部分のセルのデータが壊れていて、5桁の整数になっています。
ググって調べてみたら、どうも1899/12/30が0のシリアル値のようです。
これをYYYY/MM/DDの文字列に変換したいんですが計算式がわかりません。
よろしくお願いします。
609: デフォルトの名無しさん [sage] 2021/12/24(金) 20:51:05.94 ID:wuqNqn+2(1) AAS
>>606タイマーとかのラッチってペリフェラルの補助機能でしょ
ソフトでそんなもんないから>>601601(3): デフォルトの名無しさん [sage] 2021/12/17(金) 19:18:20.51 ID:b/qKwgTk(1) AAS
:loop
set d=%date%
set t=%time%
if not %d%==%date% goto loop
なわけで
676(1): デフォルトの名無しさん [sage] 2022/03/10(木) 14:32:21.94 ID:53waehJr(1/2) AAS
あるフォルダROOTの配下にフォルダ001〜フォルダ999があり、その中にはAAA,BBB,CCCという3ファイルがあるとします。
フォルダ001から999配下の全てのAAAをZZZにコピーするために
コマンドプロンプトでROOTフォルダで「for /r %i in (AAA) do copy %i %~pi\ZZZ」としたら求める結果になりましたが
これをバッチファイルに書くと構文エラーみたいなエラーがでます。
バッチファイルに書く場合どうしたらいいでしょうか。
786(1): デフォルトの名無しさん [sage] 2022/05/23(月) 12:58:34.94 ID:Lvn387tn(4/4) AAS
自己解決
> %%~aが利かない
はケツにスペース入ってたから
バグるのは文字コード上の問題のよう
外部リンク[html]:scripting.cocolog-nifty.com
パイプだと改行コードがおかしくなるだけらしいけどその後のコマンド類がおかしくなるのは不明
URL先の説明にあるように直接ファイルへリダイレクトしてtypeで読めばバグらないようになった
wmic process where "name='hoge.exe'" get CommandLine 2>nul >$tmp.txt
for /f "delims=" %%a in ('type $tmp.txt^|find ":"') do for %%b in (%%a) do set "s=%%~b"
820: デフォルトの名無しさん [sage] 2022/05/28(土) 20:51:48.94 ID:4gWpv+XJ(3/7) AAS
これはbatに限らないのでメモ帳とか何かのソフトを起動させても画面には現れない
906(1): デフォルトの名無しさん [sage] 2022/08/14(日) 22:44:27.94 ID:zcJ+8Zbe(2/3) AAS
>>905905(2): デフォルトの名無しさん [sage] 2022/08/14(日) 20:07:44.49 ID:0tA/3KXA(2/2) AAS
そうです。自分のインターネット側のIP
ルーター管理画面のWAN側IPです
これをコマンド(LAN側のマシン)から調べる方法が無いのかなって
> Webサービスをスクレイピング
これってコマンドでやる方法あります?
NECのなんですけどルーター管理画面から取れるのかな?
ちょっとググったりしてみましたけど簡単なバッチくらいしか使えない自分にはハードル高いかも
curl.exeを持ってこないといけないけど
診断君のスクレイピングだと
@echo off
curl.exe 外部リンク:taruo.net -s -o "res.tmp"
for /f "tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set host=%%i&goto :get_ip
:get_ip
for /f "skip=1 tokens=*" %%i in ('findstr "<TD><tt>" res.tmp') do set ip=%%i&goto out
goto :eof
:out
for /f "delims=<> tokens=3" %%i in ("%host%") do set host=%%i
for /f "delims=<> tokens=3" %%i in ("%ip%") do set ip=%%i
set ip=%ip:~0,-2%
echo HOST NAME = %host%
echo IP ADDRESS = %ip%
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.048s