0

名前が示すように、コマンドの--no-clobber(または-n)フラグmv(少なくともGnuバージョン)により、要求された移動によって既存のファイルが上書きされた場合、コマンドは失敗します。

これをWindowsバッチファイルでどのようにエミュレートできますか?

(ところで、投影されたバッチファイルは自動的に(つまり、監視なしで)実行されるように意図されているため、人間のユーザーに許可を求めるプロンプトを表示するソリューションはありません。)

ありがとう!

4

1 に答える 1

-1
> MOVE /?
Moves files and renames files and directories.

To move one or more files:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

To rename a directory:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

  [drive:][path]filename1 Specifies the location and name of the file
                          or files you want to move.
  destination             Specifies the new location of the file. Destination
                          can consist of a drive letter and colon, a
                          directory name, or a combination. If you are moving
                          only one file, you can also include a filename if
                          you want to rename the file when you move it.
  [drive:][path]dirname1  Specifies the directory you want to rename.
  dirname2                Specifies the new name of the directory.

  /Y                      Suppresses prompting to confirm you want to
                          overwrite an existing destination file.
  /-Y                     Causes prompting to confirm you want to overwrite
                          an existing destination file.

The switch /Y may be present in the COPYCMD environment variable.
This may be overridden with /-Y on the command line.  Default is
to prompt on overwrites unless MOVE command is being executed from
within a batch script.

> ECHO N | MOVE /-Y OLDFILE NEWFILE

または:

IF NOT EXIST NEWFILE MOVE OLDFILE NEWFILE

複数のファイルのFORループと組み合わせます。

于 2012-05-09T02:06:27.613 に答える