Xcopie um .txt pela rede e adicione uma data

0

Estou tentando pegar um arquivo .txt e movê-lo pela rede com xcopy.

Aqui está o meu código até agora:

@ECHO off
XCOPY /y pushd \\Oafrpnbtcsi01\Test_Systemplatz\Systemplatz_SLOT_1_Fail.txt

rem get date, make if file name friendly
FOR /F "tokens=1-4 delims=/ " %%i in ('date/t') do set d=%%i-%%j-%%k-%%l

set MBD=Systemplatz_SLOT_1_FailB%d%DN.txt
ren Systemplatz_SLOT_1_Fail.txt %MBD%
move *.txt F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1
@ECHO on

Também quero que a data seja adicionada ao nome do arquivo de texto.

Até agora, não está funcionando, então tenho certeza de que fiz algo errado. Se houver uma maneira melhor de fazer isso, explique.

NetworkKingPin
fonte
Seria útil se você fornecesse uma amostra do arquivo txt e o arquivo csv convertido correspondente.
DavidPostill
@DavidPostill adicionou uma amostra.
NetworkKingPin
E o arquivo CSV equivalente?
DavidPostill
Dê-me alguns para recompilar minha pergunta.
NetworkKingPin

Respostas:

1

Eu vejo dois problemas. Primeiro, há esta linha:

XCOPY /y pushd \\Oafrpnbtcsi01\Test_Systemplatz\Systemplatz_SLOT_1_Fail.txt

pushdé um comando em si; não pode ser passado como argumento para xcopy. xcopyprecisa de dois argumentos, uma fonte e um destino; parece que você só tem um. Estou supondo - mas não tenho certeza - que você deseja mover o diretório atual \\Oafrpnbtcsi01\Test_Systemplatz\, que contém o arquivo com o qual você irá trabalhar. Para fazer isso, substitua a linha acima por apenas isso:

pushd \\Oafrpnbtcsi01\Test_Systemplatz\

A segunda questão está nesta linha:

move *.txt F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1

Parece que uma das pastas no caminho é chamado Systemplatz Slot 1, mas move, Slote 1se parecer com argumentos diferentes porque existem espaços. Você deve colocar todo o caminho de destino entre aspas, assim:

move *.txt "F:\Public\Logfiles\Systemplatz\Test\02\Systemplatz Slot 1"

Por fim, você provavelmente deseja que um popdno final do script inverta pushd, levando o diretório atual de volta ao seu local original.

Ben N
fonte
Incrível obrigado, estava me deixando louco ontem à noite.
precisa saber é o seguinte