2017-09-07 3 views
2

J'ai besoin d'échanger un fichier avec des données (original) vers un fichier fictif sans données. J'ai besoin de basculer entre ces fichiers de remorquage sur une base régulière. Comme un moyen sûr de ne pas supprimer les fichiers, j'ai pensé que le meilleur moyen serait de renommer le fichier original, puis de copier le fichier fictif sur le même répertoire que l'original. Quand je veux revenir en arrière, je voudrais simplement 'couper' le fichier fictif, puis renommer l'original à son nom d'origine. Mes scripts actuels ressemblent à ceci:commandes de fichier bat - comment couper un fichier et remplacer un fichier existant

pushd "F:\BIO4\Etc\" 
ren "omake01.esl" "omake01-OG.esl" 
COPY "I:\Mod Switcher\Blank Omake\omake01.esl" "F:\BIO4\Etc\omake01.esl" 

1ère partie terminée. J'ai renommé l'original afin que le fichier fictif puisse être copié à sa place dans le répertoire d'origine. Maintenant, je veux revenir cela, et déplacer le fichier factice à l'endroit où il est venu, puis renommer mon original à son nom Orignal:

xcopy /y "F:\BIO4\Etc\omake01.esl" "I:\Mod Switcher\Blank Omake\omake01.esl" 
pushd "F:\BIO4\Etc\" 
ren "omake01-OG.esl" "omake01.esl" 

Le problème ici est que le fichier est de ne pas couper, tout simplement copié, puis le fichier n'est pas renommé par la suite. La sortie suivante apparaît dans la console:

C:\Users\Anon\Desktop 3>xcopy /y "F:\BIO4\Etc\omake01.esl" "I:\Mod Switcher\Blank Omake\omake01.esl" 

F:\BIO4\Etc\omake01.esl 
1 File(s) copied 

C:\Users\Anon\Desktop 3>pushd "F:\BIO4\Etc\" 

F:\BIO4\Etc>ren "omake01-OG.esl" "omake01.esl" 
A duplicate file name exists, or the file 
cannot be found. 

Comment puis-je faciliter la tâche ou même travailler?

exécutant Windows & 64 bits

+0

pourquoi ne pas simplement déplacer le fichier? 'MV -f" I: \ Mod Switcher \ Vide Omake \ omake01.esl "" F: \ BIO4 \ Etc \ omake01.esl "' –

+1

@GerhardBarnard vous voulez dire 'move'? (Si l'utilisateur n'a pas de shell d'alimentation). Aussi, il est préférable d'utiliser 'move/Y' (ne pas demander l'écrasement) – kaza

+1

@bulbus ouais,' move/y' désolé, j'ai oublié que j'ai ssh installé sur mon ordinateur portable et l'exécution des commandes Unix. –

Répondre

3

Au lieu de copier et de renommer, il suffit de déplacer le fichier qui est coupé efficacement & Coller.

MOVE /Y "I:\Mod Switcher\Blank Omake\omake01.esl" "F:\BIO4\Etc\omake01.esl" 

Le commutateur /Y arrête juste le "confirmer Ecraser" invites. Ne move /? pour voir tous les commutateurs.

+0

a fait l'affaire, mais il n'y a pas besoin de pousser "F: \ BIO4 \ Etc \" (cela n'a aucun sens dans le contexte ci-dessus). En tout cas merci pour l'aide. –

+1

cool! content que cela a aidé. –