Skip to content

batから実行時、DestDirが不適切だとカレントディレクトリになる。 #140

@kakogawa

Description

@kakogawa

エラー内容
batファイルからコマンドでFastCopyを実行する時
DestDirに「C:」のような末尾に\がないドライブ直下のパスが与えられていると
DestDirがbatのカレントディレクトリになってしまい意図しないコピーが実行されてしまいます。

再現方法
下記のbatファイルを実行
FastCopy.exe "test" /to="C:"

この問題で特に致命的なのが
管理者権限でbatを実行して /cmd=sync で同期をする場合です。
管理者権限でbatを実行するとカレントディレクトリがC:\Windows\system32なので
DestDirがC:\Windows\system32になり
そこにある重要なシステムファイルが同期によって消されてしまいます。
こうなるとブートローダーも消されてしまうようで
PCを再起動するとシステムの修復を求められPCが起動できなくなってしまいます。
自分の場合はクリーンインストール直後だったので幸い被害が小さくて済みました。

非常に危険な事態になってしまう恐れがあるので
DestDirがドライブ直下で末尾に\がない場合
末尾に\がある場合と同様の処理にするか
DestDirでbatのカレントディレクトリを使用しない、などの対策をした方がいいと思います。

もし試されるようなら必ず仮想環境で試してください。
よろしくお願いします。

バージョン・環境
Windows 10 64bit
FastCopy ver 4.2.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions