Windows/コマンドプロンプト

メモ

ファイル名に使えない文字

\/:*?<>|

cmd.exeで複数コマンド実行

system.callSystemとかで、コマンドプロンプトに複数のコマンドを与えたいときは「&」でつなぐ。

system.callSystem('cmd.exe /c "cd /d E:\ & dir"');

    • 「&」無条件で実行

    • 「&&」コマンドが成功したら次を実行

    • 「||」コマンドが失敗したら次を実行

「送る」メニューをカスタマイズする

右クリックメニューの中にある、「送る」。あまり活用されていない気もするが、便利っちゃ便利。「無くなりました」って言われたらそれはそれで...、ってレベルだけれども。

よく使うフォルダを登録しておけば、そこからコピーできる。納品フォルダとか登録しとけば、ウィンドウをもう1つ開かなくてもすぐ送れるし。

バッチファイルやアプリ等にファイルをドロップしたい時も、登録しておけばすぐに送れる。

SendToフォルダの場所

手っ取り早いのは、

      1. 「Win+E」でエクスプローラーを開く

      2. F4でアドレスバーをアクティブに

      3. 「sendto」と入力し、Enter

これでSendToフォルダが開く。実際には、C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\SendTo が開く。

ここにショートカットを入れれば「送る」メニューに表示されるようになる。最初から入ってるいらないやつは削除しといていい。Faxとかメールとか使わないっしょ。邪魔。

ネットワークドライブが邪魔

ネットワークドライブが表示されていて邪魔。消したい。これは先ほどのSendToフォルダには見当たらない。レジストリを触るしかない。レジストリの話をするときの常套句。「もちろん私は責任は取らない。自己責任で」。

レジストリエディタを開いて、

コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

ユーザー限定で変更したいなら、

コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

フォルダがなければ作成する。

その中に、新規で「DWORD(32ビット)」を作成。キー名前は「NoDrivesInSendToMenu」。「修正」コマンドから、「値のデータ」は「1」、「表記」は「16進数」でOK。タスクマネージャでエクスプローラの再起動するか、ログインし直すかすれば反映される。

パイプ(|記号)

実行結果を別のアプリに渡す。クリップボードに渡すならこんな感じ

dir *.* |clip

CMD では UNC パスは現在のディレクトリとしてサポートされません。

\\で始まるディレクトリにcdしようとすると出る。AfterEffectsのスクリプトでフォルダ検索するとき、数が多いほどcmd.exeのほうが早いけど、ネットワーク上で探すときのためにgetFiles()でやる方法も残しておいたほうがいいか。一時的にドライブに割当するpushd/popdというものもあるようだが、ドラブらないためにもやめとこ~。

エラーメッセージ

エラー:数値結果が無効です(ゼロによる除算?)

テキストが必要なところで、別のオブジェクトをぶち込んだ?