サブディレクトリからルート (ルートはコマンドが実行された場所) にファイルをコピーし、必要に応じて元のファイルをバックアップするための非常に基本的なバッチ スクリプト (元々は機能していました) を作成しました。以下は、置換を含む私のスクリプトです。コピー元のファイルのファイル%CD%\folder\
名は%FILE%
set /p backup=Do you want to backup your current file? (Yes or No):
set file=filename.cmd
if %BACKUP% == Yes (
if exist "%FILE%-backup" (
del "%FILE%-backup"
)
rename "%FILE%" "%FILE%-backup"
) else (
del "%FILE%"
)
xcopy "%CD%\folder\%FILE%" "%CD%"
filename.cmd-backup
ユーザーがファイルのバックアップを選択した場合、ファイルの名前が変更されるという考えです。
ただし、ifステートメントの最後で、CMDを介して実行するとエラーが発生します(読みやすいように調整しました。これは私の正確なCMD出力です):
if Yes == Yes (
if exist "filename.cmd-backup" (
del "filename.cmd-backup"
)
rename "filename.cmd" "filename.cmd-backup"
) else (
del "C:\path\to\file\filename.cmd"
)
The system can not find the file specified.
私は愚かな何かを逃していますか?
前もって感謝します。