- Command Prompt
C:\>dir /b - ファイルが見つかりません C:\>dir /b -\ 指定されたファイルが見つかりません。 C:\>dir /b " " ファイル名または拡張子が長すぎます。 C:\>
確認
- Windows XP Professional Service Pack 3
C:\>dir /b -
ファイルが見つかりません
C:\>dir /b -\
指定されたファイルが見つかりません。
C:\>dir /b " "
ファイル名または拡張子が長すぎます。
C:\>コマンドプロンプトの内部コマンドのリストをウェブで探し出せなかったので作ってみる。
help コマンドからコマンドリストを得る。
C:\>for /F "skip=1 tokens=1*" %i In ('help') Do @If Not "%j"=="" @Echo.%i
そのコマンドを C:\Windows フォルダから探して、なければ表示する。
C:\>Cd \Windows
C:\Windows>For /F "skip=1 tokens=1*" %%i In ('help') Do @If Not "%%j"=="" @Dir /s /b %%i.com %%i.exe > nul 2>&1 || @Echo.%%i %%j
ASSOC ファイル拡張子の関連付けを表示または変更します。
BREAK 拡張 CTRL+C チェックを設定または解除します。
CALL バッチ ファイル中から、別のバッチ ファイルを呼び出します。
CD 現在のディレクトリを表示または変更します。
CHDIR 現在のディレクトリを表示または変更します。
CLS 画面を消去します。
COLOR コンソールの文字と背景の既定の色を設定します。
COPY 1 個以上のファイルを別の場所にコピーします。
DATE 日付を表示または変更します。
DEL 1 個以上のファイルを削除します。
DIR ディレクトリ中のファイルやサブディレクトリの一覧を表示します。
ECHO メッセージの表示、コマンド エコーのオン、オフの指定をします。
ENDLOCAL バッチ ファイルで、環境変数のローカライズを終了します。
ERASE 1 個以上のファイルを削除します。
EXIT CMD.EXE プログラム (コマンド インタープリタ) を終了します。
FOR 指定されたコマンドを、ファイルの集合の各ファイルに対して実行
FTYPE ファイル拡張子の関連付けで使われるファイル タイプを表示または変更
GOTO バッチ ファイル中で、ラベルで定義されている行へ Windows コマンド
IF バッチ ファイル中で、条件処理を実行します。
MD ディレクトリを作成します。
MKDIR ディレクトリを作成します。
MOVE 1 個以上のファイルをディレクトリから別のディレクトリに移動します。
PATH 実行可能ファイルの検索パスを表示または設定します。
PAUSE バッチ ファイルの処理を一時停止し、メッセージを表示します。
POPD 現在のディレクトリを PUSHD で保存したディレクトリに戻します。
PROMPT Windows コマンド プロンプトを変更します。
PUSHD 現在のディレクトリを保存して、変更します。
RD ディレクトリを削除します。
REM バッチ ファイルや CONFIG.SYS の中で、コメント (注釈) を記録します。
REN ファイルの名前を変更します。
RENAME ファイルの名前を変更します。
RMDIR ディレクトリを削除します。
SET Windows 環境変数を表示、設定、または削除します。
SETLOCAL バッチ ファイルで、環境変数のローカライズを開始します。
SHIFT バッチ ファイルで、置き換え可能パラメータの位置をシフトします。
START 別のウィンドウを起動して、指定したプログラムまたはコマンドを実行
TIME システム時刻を表示または変更します。
TITLE コマンド プロンプト ウィンドウのタイトルを設定します。
TYPE テキスト ファイルの内容を表示します。
VER Windows のバージョンを表示します。
VERIFY ファイルがディスクへ正しく書き込まれたかを照合するかどうか
Windows へ指定します。
VOL ディスクのボリューム ラベルとシリアル番号を表示します。C:\>Type nul>file
C:\>Mkdir folder
C:\>dir /ad file.txt>nul 2>&1 || Echo.file is not folder.
file is not folder.
C:\>dir /ad /b folder>nul 2>&1 && Echo.folder is folder.
folder is folder.
C:\>バッチファイルからパスワードを入力させる方法を探して PowerShell に行き着いたけれど、WScript でできる(※参照)みたいなので PowerShell はまたしばらくお休み。
C:\>type password.vbs
WScript.StdOut.Write "Password: "
strPassword = CreateObject("ScriptPW.Password").GetPassword()
WScript.Echo
WScript.Echo strPassword
C:\>CScript //Nologo password.vbs
Password:
password
C:\>[ScriptPW.Password] は Windows XP から。Windows 2000 は使用不可(※参照)。
C:\> powershell -Command コマンド群
C:\> powershell -ExcecutionPolicy RemoteSigned -File スクリプト.ps1PS> $password = read-host Password -AsSecureString
Password: 123456789
PS> $password
System.Security.SecureString
PS> $ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($password)
PS> [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
123456789@Echo Off
Rem (c) http://sofnote.blogspot.com/
Set WAITTIME=60
Set CMDNAME=%~nx0
Set TARGET=%~nx1
If Not "%TARGET%"=="" Goto ARGS_OK
Echo.Usage:
Echo. %CMDNAME% (hostname ^| ip address)
Echo.or
Echo. drag [(hostname ^| ip address)] file icon to [%CMDNAME%] icon.
Goto ERROR
:ARGS_OK
Rem hostname check
Echo.executing: ping -n 1 %TARGET%...
Set LINES=0
For /F "tokens=*" %%i In ('ping -n 1 %TARGET%') Do Call :PING_ERR_CHECK ".%%i"
If Not %LINES%==1 Goto HOSTNAME_OK
Goto ERROR
:HOSTNAME_OK
If %LINES%==9 Goto SUCCESS
ping localhost -n %WAITTIME% > nul
:RETRY
Echo.executing: ping -n 1 %TARGET%...
ping -n 1 %TARGET%
if Not ERRORLEVEL 1 Goto PINGABLE
ping localhost -n %WAITTIME% > nul
Goto RETRY
:PINGABLE
:SUCCESS
Pause
Exit /b 0
:ERROR
Pause
Exit /b 1
Rem Return values:
Rem LINES: number of line which ping result
:PING_ERR_CHECK
Setlocal ENABLEDELAYEDEXPANSION
Set MSG=%1
For /F "tokens=*" %%i In (!MSG!) Do Echo%%~i
Endlocal
Set /A LINES=%LINES%+1
Exit /b 0下記コマンドを順番に実行。
C:\Program Files\Microsoft Office\Office12\>xlview.exe /a
:
:
C:\Program Files\Microsoft Office\Office12\>xlview.exe /zExcel ファイルのパス名か、URL が書かれている一行のファイルを Drag and Drop すると Excel Viewer で開けるようなバッチファイルを書いてみる。
@Echo OFF
Set TARGET=%1
Set THISPATH=%0
Set THISFILE=%~n0%~x0
Set XLVIEW=C:\Program Files\Microsoft Office\Office12\xlview.exe
If x%TARGET%==x (
Echo.
Echo.Usage: %THISFILE% (file including target filepath or url^)
Echo.
Pause
Exit
)
For /F "usebackq tokens=* eol=" %%i In (`"type %TARGET%"`) Do Set FILENAME=%%i
Echo %FILENAME%
start "" "%XLVIEW%" "%FILENAME%"今のところ問題ないみたい。