ページ

ラベル cmd の投稿を表示しています。 すべての投稿を表示
ラベル cmd の投稿を表示しています。 すべての投稿を表示

2021年8月4日水曜日

ターミナルから天気予報

 ターミナルから天気予報


最近、Window10のアップデートで タスクバーに天気予報が表示される機能が追加されましたね。

ポップアップでニュースが表示できますが、カーソルが通過するだけでニュースが表示されるなんて邪魔だとしか思えなかった。

さておき。

2021年7月8日木曜日

以前のバージョン(シャドウコピー)の有効化 設定の方法の補足

以前のバージョン(シャドウコピー)の有効化 設定の方法の補足


Windows10のコマンドラインで
C:\Windows\System32\wbem\WMIC.exe shadowcopy call create volume=C:\
または
powershell.exe -Command (gwmi -list win32_shadowcopy).Create('C:\','ClientAccessible')
powershell.exe -Command  ([WMICLASS]"root\cimv2:win32_shadowcopy").Create('C:\','ClientAccessible')

シャドウコピーが出来ますよ と言うお話だったのですが。

これって、「有効化」ではなくて 1度きりの実行でした。

2021年3月5日金曜日

バッチファイルでPOWERSHELLからメールを送る1LINE

バッチファイルでPOWERSHELLからメールを送る1LINE

powershell -Command "send-mailmessage -To 'otori@hoge.com' -From 'report@hoge.com' -Subject 'TITLE' -Body 'Honbun' -Credential (New-Object System.Management.Automation.PSCredential 'report@hoge.com', (ConvertTo-SecureString 'PassWord' -AsPlainText -Force)) -SmtpServer hoge.com"

残念なのは日本語が送れないこと。
エンコードをUTF-8、Shift-JISで保存しても文字化けした。

ちょっとした通知にどうぞ?


2020年5月30日土曜日

コマンドプロンプト in Windows10 TABキーでファイル名入力が補完されない

コマンドプロンプト in Windows10 TABキーでファイル名入力が補完されない

Windows10のリフレッシュを行ってから入力補完されなくなりました。

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmd

cmdのOSデフォルト設定では入力補完がされないらしい。


HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

CompletionChar:ファイル及び、ディレクトリ(フォルダ)名の入力補完
PathCompletionChar:ディレクトリ(フォルダ)名の入力補完



To set the REG_DWORD value, run Regedit.exe and use the hexadecimal value of a control character for a particular function

なので制御文字を、 通常にTABで入力補完するなら 9 をセットします。

デフォルトの 0x40(64)="@" は入力補完としては機能しない。

2018年5月4日金曜日

Windows10で 以前のバージョン(シャドウコピー) の有効化設定の方法

やっておくべき。Windows10 以前のバージョン(シャドウコピー)の有効化 設定の方法


Windows10で
srtasks ExecuteScheduledSPPCreation
とコマンドの実行をしてもシャドウコピーの作成がされません。
特にエラーの表示も吐きません。

タスクスケジューラを実行してカテゴリを掘っていくと

2015年12月26日土曜日

不思議な 遅延環境変数 バッチファイル

不思議な %パーセント記号 と!エクスクラメーション(感嘆符)

遅延環境変数の挙動をECHOを使って確認していたところ。
まったく解決できなかったこと。

@echo off
set par=%%%%
echo %par%i ; %%%%i
setlocal enabledelayedexpansion
set num=0
for /l %%i in (1,1,3) do (
set /a num+=%%i
echo !par!i = %%i ; %par%i = %%i ; %%%%i = %%i ; %%num%% = %num% ; !num! = !num!
)
echo %par%i ; %%%%i
Endlocal

実行結果

%%i ; %%i
%%i = 1 ; %1 = 1 ; %1 = 1 ; %num% = 0 ; !num! = 1
%%i = 2 ; %2 = 2 ; %2 = 2 ; %num% = 0 ; !num! = 3
%%i = 3 ; %3 = 3 ; %3 = 3 ; %num% = 0 ; !num! = 6
%%i ; %%i

疑問1.「%」自体をECHOしたい場合は %% ってしますよね。
カッコ内が実行前に 1行に解釈される事までは理解したはずだった。

カッコ前、後でのECHO(予定通りの出力結果)
echo %par%i ; %%%%i
結果 → %%i ; %%i

カッコ内でのECHO
echo %par%i ; %%%%i
結果 → %1 ; %1


最初の行解釈で
echo !par!i = %i ; %%i = %i ; %%i = %i ; %num% = 0 ; !num! = !num!
に変換されて

途中の行解釈では
echo !par!i = 1 ; %1 = 1 ; %1 = 1 ; %num% = 0 ; !num! = !num!

かと言って
「%%%%%%%%i」 と設定しても 「%%%1」に変換される始末。


結果としては。カッコ内では遅延環境変数になる 「!」を使えば思惑通りの結果が出ました。

疑問2.じゃあ「!」はどうやって出力するのか?
・「!!」では意味が無い。
・変数に突っ込んでも表示がされない。

1時間ほど悩んであきらめました。苦肉の策が全角の「!」

setlocal disabledelayedexpansion

として、
遅延環境変数を無効にすれば表示はされますが、そもそもの意味がなくなりますからね。

2015年12月3日木曜日

フォルダの場所とか

フォルダの場所とか


Windows8.1から「スタートメニュー」が「スタート画面」なんて面倒なことになっていますが、

スタートアップのフォルダってどこだっけ?と思ったときのお話しです。



ファイルやフォルダの名前が分かっていれば、コマンド開いて「Dir」で検索しますよね。

いつも、C:\からフル検索するのでちょっと時間がかかってしまったり。