Hola, mediante este codigo se podra mover archivos desde Dynamics AX, teniendo esto, tambien se puede copiar y eliminar archivos, es cuestion de hacer unos pequeñisimos cambios en la parte del FOR (se los dejo a su investigación :D).
static void MoverArchivos(Args _args)
{
System.IO.DirectoryInfo di;
System.Type arrayType;
System.Array array;
System.IO.FileInfo fi;
FilePath filePath, moveFilePath, shortFile;
FileNameOpen fileNameOpen;
FileIOPermission dirPermission, filePermission;
InteropPermission interopPermission;
Set permissionSet;
int i;
int l;
;
interopPermission = new InteropPermission(InteropKind::ClrInterop);
filePath = '\\\\MSAXPRB\\Prueba\\a\\';
dirPermission = new FileIOPermission(filePath, 'R');
permissionSet = new Set(Types::Class);
permissionSet.add(interopPermission);
permissionSet.add(dirPermission);
CodeAccessPermission::assertMultiple(permissionSet);
di = new System.IO.DirectoryInfo(filePath);
arrayType = System.Type::GetType("System.IO.FileInfo");
array = System.Array::CreateInstance(arrayType, 1);
array = di.GetFiles();
l = array.get_Length();
CodeAccessPermission::revertAssert();
if (l > 0)
{
for (i = 0; i < l; i++)
{
interopPermission = new InteropPermission(InteropKind::ClrInterop);
interopPermission.assert();
fi = array.GetValue(i);
fileNameOpen = fi.get_FullName();
CodeAccessPermission::revertAssert();
filepermission = new FileIOPermission(fileNameOpen, 'W');
interopPermission = new InteropPermission(InteropKind::ClrInterop);
permissionSet = new Set(Types::Class);
permissionSet.add(interopPermission);
permissionSet.add(dirPermission);
CodeAccessPermission::assertMultiple(permissionSet);
shortFile = fi.get_Name();
moveFilePath = "\\\\MSAXPRB\\Prueba\\b\\" + shortFile;
fi.MoveTo(moveFilePath);
CodeAccessPermission::revertAssert();
}
}
box::info("Archivos movidos");
}
Un ejemplo del uso de este codigo podria ser al momento de hacer procesos en batch para importar data de archivos.
Saludos.
Este comentario ha sido eliminado por el autor.
ResponderEliminar